Tổng các chữ số trong một chuỗi python

Chúng tôi bắt đầu bằng cách chia số thành các chữ số và sau đó thêm tất cả các chữ số vào biến tổng. Để ngắt chuỗi ta sử dụng các toán tử sau

Toán tử modulo % được sử dụng để trích xuất các chữ số từ một số. Sau khi bỏ chữ số ta áp dụng phép chia để rút gọn số

Các phương pháp khác nhau để tìm tổng các chữ số của một số trong Python

Sử dụng các phương thức str[] và int[]

Để chuyển đổi một số thành một chuỗi, hãy sử dụng hàm str[]. Để chuyển đổi một chuỗi chữ số thành một số nguyên, hãy sử dụng hàm int[]

Chuyển đổi số thành một chuỗi, lặp qua từng chữ số trong chuỗi và thêm vào tổng các chữ số trong mỗi lần lặp

Luồng thuật toán

  • Bước 1. Thu thập đầu vào của người dùng

  • Bước 2. Tạo một biến để giữ kết quả

  • Bước 3. Chuyển đổi số thành một chuỗi

  • Bước 4. Viết một vòng lặp cho mỗi chữ số trong một số

  • Bước 5. Chuyển đổi chữ số thành một số nguyên và thêm nó vào tổng

  • Bước 6. Gọi hàm và in kết quả

Mã số

# Function to get sum of digits 
def getSum[n]:
    
    sum = 0
    for digit in str[n]: 
      sum += int[digit]      
    return sum
   
n = 569
print[getSum[n]]

đầu ra

Sử dụng phép lặp

Ta sẽ sử dụng vòng lặp để tính tổng các chữ số của một số. Các vòng lặp được sử dụng để thực thi liên tục một đoạn mã cụ thể. Một số câu lệnh lặp là vòng lặp for, while và do-while

Để tìm chữ số ngoài cùng bên phải của một số nguyên, hãy chia số nguyên đó cho 10 cho đến khi nó bằng 0. Cuối cùng, phần còn lại sẽ là chữ số ngoài cùng bên phải. Sử dụng toán tử còn lại " phần trăm " để nhận lời nhắc. Chia thương thu được cho 10 để được tất cả các chữ số của một số. Để tìm thương số, chúng tôi sử dụng “//”

Luồng thuật toán

  • Bước 1. Tạo hàm tìm tổng sử dụng tham số n

  • Bước 2. Khai báo một biến sum để lưu tổng các chữ số

  • Bước 3. Tạo một vòng lặp sẽ chạy cho đến khi n lớn hơn 0

  • Bước 4. Đối với phần còn lại được trả về, hãy thêm biến tổng [n phần trăm 10]

  • Bước 5. Thay đổi n thành n/10

  • Bước 6. Thu thập phản hồi từ người dùng

  • Bước 7. Gọi hàm được xác định trước đó và chuyển đầu vào làm đối số

  • Bước 8. In tổng các giá trị được trả về bởi hàm

Mã số

# Function to get the sum of digits 
def getSum[n]:
    
    sum = 0
    while [n != 0]:
       
        sum = sum + [n % 10]
        n = n//10
       
    return sum
   
n = 569
print[getSum[n]]

đầu ra

Sử dụng đệ quy

Đệ quy là quá trình xác định một vấn đề hoặc giải pháp cho một vấn đề theo một phiên bản đơn giản hơn của chính nó. Hàm tương ứng được gọi là hàm đệ quy. Việc sử dụng đệ quy loại bỏ yêu cầu về vòng lặp trong lập trình

Thực hiện theo thuật toán để có mô tả kỹ lưỡng về cách thức hoạt động của phần mềm

Luồng thuật toán

  • Bước 1. Tạo hàm tìm tổng các chữ số với tham số n để tính tổng

  • Bước 2. Xác định xem n có nhỏ hơn 10 không;

  • Bước 3. Nếu không, hãy chia số đó cho 10 và tìm số dư [n phần trăm 10]

  • Bước 4. Gọi đệ quy hàm và chuyển [n/10] làm tham số

  • Bước 5. Thêm phần còn lại và giá trị được trả về bởi hàm

  • Bước 6. Thu thập đầu vào của người dùng

  • Bước 7. Gọi hàm tổng các chữ số để tìm tổng các chữ số của một số, chuyển đầu vào dưới dạng tham số

Mã số

# sum of digits in number.
   
def sumDigits[no]:
    return 0 if no == 0 else int[no % 10] + sumDigits[int[no / 10]] 
   
# Driver code
n = 569
print[sumDigits[n]]

đầu ra

Sử dụng phương thức Sum[]

Phương thức sum[] dùng để tính tổng các chữ số của một số trong python trong danh sách

Chuyển đổi số thành một chuỗi bằng cách sử dụng str[], sau đó tách chuỗi và chuyển đổi nó thành một danh sách các số bằng các phương thức strip[] và map[] tương ứng. Sau đó, tính tổng bằng phương thức sum[]

Luồng thuật toán

  • Bước 1. Tạo hàm tìm tổng các chữ số với tham số n để tính tổng

  • Bước 2. Số được chuyển thành chuỗi thông qua phương thức str[]

  • Bước 3. Sau đó, chuỗi được sọc và chuyển đổi thành danh sách các chữ số của số đã cho thông qua phương thức strip[] và map[] tương ứng

    Cho một xâu S chứa các kí tự chữ và số, Nhiệm vụ là tính tổng tất cả các số có trong xâu

    ví dụ.  

    Đầu vào. 1abc23
    Đầu ra. 24
    Giải thích. 1 + 23 = 24

    Đầu vào. geeks4geeks
    Đầu ra. 4

    Đầu vào. 1abc2x30yz67
    Đầu ra. 100

    Đề nghị thực hành

    Tổng các số trong chuỗi

    Thử nó

    Tiếp cận

    Quét từng ký tự của chuỗi đầu vào và nếu một số được tạo bởi các ký tự liên tiếp của chuỗi, thì hãy tăng kết quả theo số lượng đó. Phần khó khăn duy nhất của câu hỏi này là nhiều chữ số liên tiếp được coi là một số

    Thực hiện theo các bước dưới đây để thực hiện ý tưởng

    • Tạo một chuỗi rỗng tạm thời và một số nguyên
    • Lặp lại tất cả các ký tự của chuỗi
      • Nếu ký tự là một chữ số, hãy thêm nó vào temp
      • Khác chuyển đổi chuỗi tạm thời thành số và thêm nó vào tổng, tạm thời trống
    • Trả về tổng + số thu được từ temp

    Dưới đây là việc thực hiện các phương pháp trên

    C++




    100
    04

    100
    05

    100
    06

    100
    07
    100
    08
    100
    09

     

    100
    10

    100
    05

    100
    1
    100
    2

    100
    3

    100
    4
    100
    5

    100
    4
    100
    7
    100
    8
    100
    9

     

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    31

    100
    4
    100
    1

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    34

     

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    36

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    38

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39____3040
    100
    041

    100
    042
    100
    043

    100
    042
    100
    045

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39
    100
    047
    100
    048

    100
    049____3050

     

    100
    042
    100
    052

    100
    042
    100
    054
    100
    3

    100
    049
    100
    057

    100
    049
    100
    059

    100
    049
    100
    061____3062
    100
    063

     

    100
    049
    100
    065

    100
    049
    100
    067____38
    100
    9

    100
    042
    100
    071

    100
    4
    100
    071

     

    100
    4____3075

    100
    4
    100
    077

    100
    4
    100
    079
    100
    080
    100
    062
    100
    063

    100
    071

     

    100
    084

    100
    1
    100
    086

    100
    3

    100
    4
    100
    089

    100
    4
    100
    091____3092
    100
    9

     

    100
    4
    100
    095

    100
    4
    100
    097

     

    100
    4
    100
    079
    100
    100

    100
    071

    Java




    100
    102

    100
    05

    100
    104
    100
    105

     

    100
    106
    100
    107

     

    100
    4
    100
    10

    100
    4
    100
    05

    100
    4
    100
    03
    100
    1
    100
    05

    100
    4
    100
    3

    100
    042
    100
    5

    100
    042
    100
    11
    100
    12
    100
    9

     

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    31

    100
    042
    100
    1
    100
    18
    100
    19
    100
    9

     

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    36

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    38

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39
    100
    1
    100
    27
    100
    19
    100
    29

    100
    049
    100
    040
    100
    32

     

    100
    049
    100
    043

    100
    049
    100
    045
    100
    37

    100
    38
    100
    050

     

    100
    049
    100
    052

    100
    049
    100
    054
    100
    3

    100
    38
    100
    057

    100
    38
    100
    059

    100
    38
    100
    50

     

    100
    38
    100
    065

    100
    38
    100
    067______312
    100
    9

    100
    049
    100
    071

    100
    042
    100
    071

     

    100
    042
    100
    075

    100
    042
    100
    077

    100
    042
    100
    079
    100
    67

    100
    4
    100
    071

     

    100
    4
    100
    084

    100
    4
    100
    73
    100
    03
    100
    75
    100
    76

    100
    4
    100
    3

     

    100
    042
    100
    089

    100
    042
    100
    82
    100
    092
    100
    9

     

    100
    042
    100
    095

    100
    042
    100
    88

    100
    4
    100
    071

    100
    071

     

    100
    92

    Python3




    100
    93

    100
    94

    100
    95

     

    100
    96

    100
    97

    100
    95

     

     

    100
    99

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    300

     

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    302

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    304

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    305
    100
    12

     

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    308

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    310

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    312

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    305
    100
    19

     

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    316

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    38

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    319____1320

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    321

     

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    323

    100
    042
    100
    045

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    326

    100
    049

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    304

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    329

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    305

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    319

     

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    333

    _______3042____3054____1336

     

    100
    049

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    338

    100
    049

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    340

    100
    049

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    312

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    329

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    305
    100
    1

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    346

     

    100
    049

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    348

    100
    049

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    304

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    305
    100
    12

     

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    354

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    356

    100
    4
    100
    079

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    312

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    329
    100
    1

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    346

     

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    363

     

     

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    364

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    365

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    305
    100
    092

     

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    368

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    369

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    370

     

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    371

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    372

    C#




    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    373

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    374

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    375

    100
    07

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    377

     

    100
    106
    100
    107

     

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    381

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    374

    100
    4

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    375

    100
    4
    100
    03
    100
    1
    100
    05

    100
    4
    100
    3

    100
    042
    100
    5

    100
    042
    100
    11
    100
    12
    100
    9

     

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    399

    100
    042
    100
    0401

    100
    042
    100
    1

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    34

     

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    36

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    38

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39______31
    100
    0411

    100
    049
    100
    040
    100
    0414

     

    100
    049
    100
    043

    100
    049
    100
    045

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39
    100
    040
    100
    0421

    100
    38
    100
    050

     

    100
    049
    100
    052

    100
    049
    100
    054
    100
    3

     

    100
    38
    100
    057

    100
    38
    100
    059

    100
    38
    100
    061____31
    100
    0436

     

    100
    38
    100
    065

    100
    38
    100
    067______312
    100
    9

    100
    049
    100
    071

    100
    042
    100
    071

     

    100
    042
    100
    075

    100
    042
    100
    077

    100
    042
    100
    079
    100
    080
    100
    1
    100
    0436

    100
    4
    100
    071

     

    100
    4
    100
    084

    100
    4
    100
    73
    100
    03
    100
    75
    100
    0464

    100
    4
    100
    3

     

    100
    042
    100
    089

    100
    042
    100
    82
    100
    092
    100
    9

     

    100
    042
    100
    095

    100
    042
    100
    0476

    100
    4
    100
    071

    100
    071

     

    100
    0480

    Javascript




    100
    0481

     

    100
    0482

    100
    0483

    100
    0484

    100
    0485

    100
    4

    100
    4____30488

    100
    4____30490

    100
    4____30484

    100
    4____30485

    100
    4____30496
    100
    0497

    100
    4
    100
    3

    100
    042
    100
    5

    100
    042
    100
    0503____312
    100
    9

    100
    0506

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    399

    100
    042
    100
    0401

    100
    042
    100
    0512

    100
    0506

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    36

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    38
    100
    0518

    100
    049
    100
    0520

    100
    0506

    100
    049
    100
    043

    100
    049
    100
    045
    100
    0526

    100
    38
    100
    050

    100
    0506

    100
    049
    100
    052

    100
    049
    100
    054
    100
    3

    100
    38
    100
    057

    100
    38
    100
    059

    100
    38____30540

    100
    0506

    100
    38
    100
    065

    100
    38
    100
    067______312
    100
    9

    100
    049
    100
    071

    100
    042
    100
    071

    100
    0506

    100
    042
    100
    075

    100
    042
    100
    077

    100
    042
    100
    079
    100
    0559

    100
    4
    100
    071

    100
    4

    100
    4
    100
    084

    100
    4
    100
    089

    _______34____30568____3092

    100
    9

    100
    4

    100
    4
    100
    095

    100
    4____30575

    100
    4

     

    100
    0577

     

    100
    0578

    Đầu ra

    100

    Độ phức tạp về thời gian. O[N] trong đó n là độ dài của chuỗi.
    Không gian phụ. O[N] trong đó n là độ dài của chuỗi.

    Tính tổng của tất cả các số có trong một chuỗi bằng cách sử dụng đệ quy

    Ý tưởng là duyệt đệ quy qua chuỗi và tìm ra các số sau đó thêm các số này vào kết quả, cuối cùng trả về kết quả.  

    Thực hiện theo các bước dưới đây để thực hiện ý tưởng

    • Tạo một chuỗi rỗng tạm thời và một số nguyên
    • Di chuyển đệ quy các ký tự cho mọi chỉ số i từ 0 đến độ dài – 1
      • Nếu i = N-1 thì kiểm tra xem ký tự hiện tại có phải là chữ số không trả về str[i] – ‘0’
      • Khác trả về 0
      • Nếu str[i] là một chữ số
        • Chạy vòng lặp for với bộ đếm j  từ i đến N – 1
          • Nếu ký tự là một chữ số, hãy thêm nó vào temp
          • phá vỡ khác
        • Trả về tổng giá trị số của temp + recur cho chỉ mục j

    Dưới đây là việc thực hiện các phương pháp trên

    C++




    100
    0579

    100
    0580

    100
    0581

    100
    06

    100
    07
    100
    08
    100
    09

     

    100
    1
    100
    0587
    100
    1
    100
    0589
    100
    1
    100
    0591

    100
    3

    100
    4____30594

    100
    4
    100
    045
    100
    0597

    100
    042
    100
    079
    100
    100

     

    100
    4____30602

    100
    4____3045
    100
    0605

     

    100
    042
    100
    0607

    100
    042
    100
    045

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39
    100
    047
    100
    0612

    100
    049
    100
    079
    100
    0615
    100
    0616
    100
    9

    100
    042
    100
    071

    100
    042
    100
    054
    100
    3

    100
    049
    100
    079
    100
    100

    100
    042
    100
    071

    100
    4
    100
    071

     

    100
    4____30631

    100
    4____30633

    100
    4
    100
    045

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39
    100
    047
    100
    0612

     

    100
    042
    100
    0640

    100
    042
    100
    7
    100
    8
    100
    9

    100
    042
    100
    1
    100
    0647

     

    100
    042
    100
    0649

    100
    042
    100
    0651

    100
    042

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    38
    100
    0654

     

    100
    049
    100
    0631

    100
    049
    100
    0658

    100
    049
    100
    045

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39
    100
    047
    100
    0663

    100
    38____30665

     

    100
    049
    100
    0667

    100
    049
    100
    0669

    100
    049
    100
    054

    _______338____30673____39

    100
    042
    100
    071

     

    100
    042
    100
    0678

    100
    042
    100
    0680

    100
    042
    100
    079
    100
    0683

    100
    4
    100
    071

     

    100
    4____30687

    100
    4
    100
    054
    100
    3

    100
    042
    100
    0692

    100
    4
    100
    071

    100
    071

     

    100
    1
    100
    2

    100
    3

    100
    4____30700

    100
    4____3079
    100
    0703

    100
    071

     

    100
    084

    100
    1
    100
    086

    100
    3

    100
    4
    100
    089

    100
    4
    100
    091____3092
    100
    9

     

    100
    4
    100
    095

    100
    4
    100
    097

     

    100
    4
    100
    079
    100
    100

    100
    071

    Đầu ra

    100

    Độ phức tạp về thời gian. O[N], trong đó N là kích thước của chuỗi đã cho.
    Không gian phụ. O[N], trong trường hợp xấu nhất, nó có thể tốn O[N] lệnh gọi đệ quy

    Tính tổng của tất cả các số có trong một chuỗi bằng Regex trong Python

    Ý tưởng là sử dụng hàm sẵn có Python RegEx.  

    Dưới đây là việc thực hiện phương pháp trên

    Python3




    100
    93

    100
    94

    100
    95

     

    100
    96

    100
    97

    100
    95

    100
    104
    100
    0730

     

     

    100
    99
    100
    0732

    100
    4____30734

    100
    4____30736

    100
    4
    100
    079
    100
    0739

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39
    100
    0741

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    39
    100
    1
    100
    0744
    100
    0745
    100
    0746

     

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    363

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    364

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    365

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    305
    100
    092

     

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    368

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    369
    100
    0754

     

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    371

    100
    0756

    Đầu ra

    # Function to get the sum of digits 
    def getSum[n]:
        
        sum = 0
        while [n != 0]:
           
            sum = sum + [n % 10]
            n = n//10
           
        return sum
       
    n = 569
    print[getSum[n]]
    
    3

    Độ phức tạp về thời gian. O[n] trong đó n là độ dài của chuỗi.
    Không gian phụ. O[n] trong đó n là độ dài của chuỗi.

    Bài viết này được đóng góp bởi Aditya Goel. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác.  

Chủ Đề