Bài viết này được tạo ra để đề cập đến một số chương trình trong Python, đếm tổng số chữ số trong một số nhất định. Dưới đây là danh sách các chương trình được tạo cho bài viết này
- Đếm các chữ số trong một số bằng cách sử dụng vòng lặp while
- Đếm các chữ số trong một số bằng hàm len[]
Ví dụ: nếu người dùng nhập một số là 4298, thì đầu ra sẽ là 4 vì số này chứa 4 chữ số
Đếm tổng số chữ số trong một số bằng vòng lặp while
Câu hỏi đặt ra là viết chương trình Python để đếm tổng các chữ số có sẵn trong một số đã cho bằng cách sử dụng vòng lặp while. Chương trình đưa ra dưới đây là câu trả lời cho câu hỏi này
print["Enter the Number: "] num = int[input[]] tot = 0 while num: num = int[num/10] tot = tot+1 print["\nTotal Digit: "] print[tot]
Đây là mẫu chạy của nó
Bây giờ cung cấp đầu vào nói 10324 dưới dạng một số và nhấn phím
Number of digits :988 để đếm và in tổng số chữ số có sẵn trong số đã cho như trong ảnh chụp nhanh bên dưới
Phiên bản sửa đổi của chương trình trước đó
Chương trình này sử dụng kết thúc, bỏ qua việc chèn một dòng mới tự động. Hàm str[] chuyển đổi bất kỳ loại giá trị nào thành loại chuỗi
Số nguyên do người dùng nhập vào được lưu trong biến n. Sau đó, vòng lặp while được lặp lại cho đến khi biểu thức kiểm tra n. = 0 được đánh giá là 0 [sai]. Chúng tôi sẽ coi 3456 là số nguyên đầu vào.
- Sau lần lặp đầu tiên, giá trị của n sẽ được cập nhật thành 345 và số lượng được tăng lên 1
- Sau lần lặp thứ hai, giá trị của n sẽ được cập nhật thành 34 và số lượng được tăng lên 2
- Sau lần lặp thứ ba, giá trị của n sẽ được cập nhật lên 3 và số đếm được tăng lên 3
- Trong lần lặp thứ tư, giá trị của n sẽ được cập nhật thành 0 và số đếm sẽ tăng lên 4.
- Sau đó, biểu thức kiểm tra được đánh giá [ n. =0 ] là sai và vòng lặp kết thúc với số cuối cùng là 4
Dưới đây là việc thực hiện các phương pháp trên
C++
Number of digits :989
Number of digits :990
Number of digits :991
Number of digits :992
Number of digits :993
Number of digits :994
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :92
Number of digits :94
Number of digits :95
Number of digits :96
Number of digits :97
Number of digits :98
Number of digits :99
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :90
Number of digits :914
Number of digits :96
Number of digits :916
Number of digits :917
Number of digits :99
Number of digits :919
Number of digits :99
Number of digits :921
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :910
Number of digits :926
Number of digits :923
Number of digits :928
Number of digits :90
Number of digits :9890
Number of digits :9891
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :92
Number of digits :92
Number of digits :9897
Number of digits :96
Number of digits :9899
Number of digits :9900
Number of digits :9901
Number of digits :96
Number of digits :910
Number of digits :9904
Number of digits :923
Number of digits :9906
Number of digits :9907
C
Number of digits :9908
Number of digits :9909
Number of digits :9910
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :92
Number of digits :94
Number of digits :95
Number of digits :96
Number of digits :97
Number of digits :98
Number of digits :99
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :90
Number of digits :914
Number of digits :96
Number of digits :916
Number of digits :917
Number of digits :99
Number of digits :919
Number of digits :99
Number of digits :921
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :910
Number of digits :926
Number of digits :923
Number of digits :928
Number of digits :90
Number of digits :9890
Number of digits :9891
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :92
Number of digits :92
Number of digits :9897
Number of digits :96
Number of digits :900____101
Number of digits :902
Number of digits :903
Number of digits :96
Number of digits :910
Number of digits :9904
Number of digits :923
Java
Number of digits :908
Number of digits :909
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :913
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :94
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :90
Number of digits :922
Number of digits :923
Number of digits :924
Number of digits :99
Number of digits :916
Number of digits :927
Number of digits :923
Number of digits :929
Number of digits :930
Number of digits :931
Number of digits :932
Number of digits :924
Number of digits :930
Number of digits :921
Number of digits :99
Number of digits :923
Number of digits :99
Number of digits :910
Number of digits :926
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :944
Number of digits :96
Number of digits :946
Number of digits :913
Number of digits :9891
Number of digits :949
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :92
Number of digits :954
Number of digits :955
Number of digits :924
Number of digits :99
Number of digits :958
Number of digits :9900
Number of digits :960
Number of digits :961
Number of digits :96
Number of digits :923
Number of digits :923
Number of digits :965
Python3
Number of digits :966
Number of digits :967
Number of digits :968
Number of digits :969
Number of digits :96
Number of digits :971____172
Number of digits :923
Number of digits :96
Number of digits :916
Number of digits :976
Number of digits :972
Number of digits :923
Number of digits :979
Number of digits :99
Number of digits :981____182
Number of digits :982
Number of digits :972
Number of digits :932
Number of digits :99
Number of digits :971____188
Number of digits :972
Number of digits :990
Number of digits :96
Number of digits :910
Number of digits :971
Number of digits :994
Number of digits :981
Number of digits :972
Number of digits :955
Number of digits :998
Number of digits :901____1100
Number of digits :9101
Number of digits :9102
Number of digits :9103
C#
Number of digits :9104
Number of digits :909
Number of digits :992
Number of digits :9107
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :913
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :94
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :90
Number of digits :914
Number of digits :99
Number of digits :916
Number of digits :917
Number of digits :930
Number of digits :919
Number of digits :930
Number of digits :921
Number of digits :99
Number of digits :923
Number of digits :99
Number of digits :910
Number of digits :926
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :944
Number of digits :96
Number of digits :946
Number of digits :913
Number of digits :9891
Number of digits :9141
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :92
Number of digits :9897
Number of digits :99
Number of digits :9148
Number of digits :9149
Number of digits :9150
Number of digits :988
Number of digits :9152
Number of digits :961
Number of digits :96
Number of digits :923
Number of digits :923
Number of digits :9157
PHP
Number of digits :9158
Number of digits :9159
Number of digits :990
Number of digits :9161
Number of digits :91____1163
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :9167
Number of digits :9168
Number of digits :96
Number of digits :916
Number of digits :901
Number of digits :9163
Number of digits :9173
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :9163
Number of digits :972
Number of digits :9179
Number of digits :901
Number of digits :9163
Number of digits :9182
Number of digits :99
Number of digits :9184
Number of digits :9167
Number of digits :924
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :910
Number of digits :9167____124
Number of digits :923
Number of digits :928
Number of digits :9163
Number of digits :9196
Number of digits :9197
Number of digits :9900
Number of digits :99
Number of digits :9200____1163
Number of digits :9202
Number of digits :9203
Number of digits :9204
Javascript
Number of digits :9205
Number of digits :9206
Number of digits :990
Number of digits :9161
Number of digits :9209
Number of digits :95
Number of digits :96____2212
Number of digits :96
Number of digits :916
Number of digits :9215
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :9219
Number of digits :99
Number of digits :921
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :910
Number of digits :926
Number of digits :923
Number of digits :928
_______16____6897
Number of digits :96
Number of digits :9232____6900
Number of digits :961
Number of digits :96
Number of digits :9236
Number of digits :9237
Đầu ra
Number of digits :91
Độ phức tạp về thời gian. O[log10[n]] hoặc O[số chữ số]
Không gian phụ. O[1] hoặc hằng số
Giải pháp đệ quy để đếm các chữ số trong một số nguyên
Tiếp tục chia số cho 10, điều này làm giảm kích thước số đầu vào xuống 1 và theo dõi số lượng kích thước đã giảm
thuật toán
- Điều kiện cơ bản của phương pháp đệ quy này là khi chúng ta chia số cho 10 và số đó giảm xuống 0, vì vậy hãy trả về 1 cho thao tác này
- Thực hiện lệnh gọi hàm bằng cách chia số cho 10, giảm kích thước đầu vào của số đã cho đi 1 và thêm 1 cho thao tác này
Dưới đây là việc thực hiện các phương pháp trên
C++
Number of digits :9238
Number of digits :9909
Number of digits :991
Number of digits :992
Number of digits :993
Number of digits :994
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :92
Number of digits :94
Number of digits :95
Number of digits :96
Number of digits :97
Number of digits :9252
Number of digits :99
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :910
Number of digits :9258
Number of digits :923
Number of digits :928
Number of digits :90
Number of digits :9890
Number of digits :9891
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :92
Number of digits :92
Number of digits :9897
Number of digits :96
Number of digits :9899
Number of digits :9272
Number of digits :9901
Number of digits :96
Number of digits :910
Number of digits :9904
Number of digits :923
Number of digits :9278
C
Number of digits :9279
Number of digits :9909
Number of digits :9910
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :92
Number of digits :94
Number of digits :95
Number of digits :96
Number of digits :97
Number of digits :9252
Number of digits :99
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :910
Number of digits :9258
Number of digits :923
Number of digits :928
Number of digits :90
Number of digits :9890
Number of digits :9891
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :92
Number of digits :92
Number of digits :9897
Number of digits :96
Number of digits :900____101
Number of digits :902
Number of digits :903
Number of digits :96
Number of digits :910
Number of digits :9904
Number of digits :923
Java
Number of digits :908
Number of digits :909
Number of digits :98919
Number of digits :98920
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :913
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :94
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :97
Number of digits :98933
Number of digits :932
Number of digits :98935
Number of digits :923
Number of digits :9892
Number of digits :930
Number of digits :910
Number of digits :990____124
Number of digits :99
Number of digits :910
Number of digits :990
Number of digits :98945
Number of digits :932
Number of digits :9202
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :944
Number of digits :96
Number of digits :946
Number of digits :913
Number of digits :9891
Number of digits :949
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :92
Number of digits :954
Number of digits :955
Number of digits :924
Number of digits :99
Number of digits :958
Number of digits :9900
Number of digits :960
Number of digits :961
Number of digits :96
Number of digits :923
Number of digits :923
Number of digits :965
Python3
Number of digits :98973
Number of digits :967
Number of digits :968
Number of digits :969
Number of digits :96
Number of digits :97
Number of digits :981
Number of digits :982
Number of digits :982
Number of digits :932
Number of digits :972
Number of digits :972
Number of digits :923
Number of digits :979
Number of digits :99
Number of digits :910
Number of digits :990
Number of digits :96
Number of digits :910
Number of digits :990
Number of digits :988
Number of digits :98994
Number of digits :982
Number of digits :982
Number of digits :932
Number of digits :9892
Number of digits :994
Number of digits :981
Number of digits :972
Number of digits :955
Number of digits :998
Number of digits :901____1100
Number of digits :9101
Number of digits :9102
Number of digits :9103
C#
Number of digits :9104
Number of digits :909
Number of digits :992
Number of digits :9107
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :913
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :94
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :97
Number of digits :9252
Number of digits :930
Number of digits :910
Number of digits :911
Number of digits :99
Number of digits :910
Number of digits :9258
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :99035
Number of digits :96
Number of digits :946
Number of digits :913
Number of digits :9891
Number of digits :9141
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :92
Number of digits :9897
Number of digits :99
Number of digits :9148
Number of digits :99048
Number of digits :9150
Number of digits :988
Number of digits :99051
Number of digits :9150
Number of digits :961
Number of digits :96
Number of digits :923
Number of digits :923
Number of digits :9157
PHP
Number of digits :9158
Number of digits :99059
Number of digits :990
Number of digits :9161
Number of digits :91____1163
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :97
Number of digits :901
Number of digits :9163
Number of digits :99070
Number of digits :99
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :910
Number of digits :99076____1163
Number of digits :99078
Number of digits :923
Number of digits :99080
Number of digits :9163
Number of digits :9196
Number of digits :998
Number of digits :901____6900
Number of digits :99086
Number of digits :930
Number of digits :99088
Number of digits :9163
Number of digits :99090
Number of digits :99091
Number of digits :9204
Javascript
Number of digits :9205
Number of digits :99094
Number of digits :9909
Number of digits :9161
Number of digits :9209
Number of digits :95
Number of digits :96
Number of digits :97
Number of digits :9252
Number of digits :99
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :910
Number of digits :99107
Number of digits :923
Number of digits :928
Number of digits :99110
Number of digits :9897
Number of digits :9232
Number of digits :9272
Number of digits :961
Number of digits :9237
Đầu ra
Number of digits :9
Độ phức tạp về thời gian. O[log[n]]
Không gian phụ. O[log[n]]
Giải pháp dựa trên nhật ký để đếm các chữ số trong một số nguyên
Chúng ta có thể sử dụng log10[logarit của cơ số 10] để đếm số chữ số của số dương [logarit không được xác định cho số âm].
Số chữ số của N = cận trên của log10[N].
Dưới đây là triển khai ý tưởng trên
C++
Number of digits :99116
Number of digits :9909
Number of digits :991
Number of digits :992
Number of digits :993
Number of digits :994
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :92
Number of digits :99126
Number of digits :99127
Number of digits :910
Number of digits :99129
Number of digits :901
Number of digits :99131
Number of digits :99132
Number of digits :923
Number of digits :928
Number of digits :90
Number of digits :9890
Number of digits :9891
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :92
Number of digits :92
Number of digits :9897
Number of digits :96
Number of digits :9899
Number of digits :9900
Number of digits :99147____6901
Number of digits :96
Number of digits :910
Number of digits :9904
Number of digits :923
Number of digits :99153
C
Number of digits :99154
Number of digits :9909
Number of digits :99156
Number of digits :9910
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :92
Number of digits :99126
Number of digits :99127
Number of digits :910
Number of digits :99129
Number of digits :901
Number of digits :99131
Number of digits :99132
Number of digits :923
Number of digits :928
Number of digits :90
Number of digits :9890
Number of digits :9891
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :92
Number of digits :92
Number of digits :9897
Number of digits :96
Number of digits :900____101
Number of digits :902
Number of digits :903
Number of digits :96
Number of digits :910
Number of digits :9904
Number of digits :923
Java
Number of digits :908
Number of digits :909
Number of digits :98919
Number of digits :98920
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :913
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :94
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :910
Number of digits :901_______10____69207
Number of digits :990
Number of digits :9202
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :944
Number of digits :96
Number of digits :946
Number of digits :913
Number of digits :9891
Number of digits :949
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :92
Number of digits :954
Number of digits :955
Number of digits :924
Number of digits :99
Number of digits :958
Number of digits :9900
Number of digits :960
Number of digits :961
Number of digits :96
Number of digits :923
Number of digits :923
Number of digits :965
Python3
Number of digits :99235
Number of digits :99236
Number of digits :99237
Number of digits :98919
Number of digits :99239
Number of digits :968
Number of digits :969
Number of digits :96
Number of digits :910
Number of digits :99244
Number of digits :988
Number of digits :990
Number of digits :9892
Number of digits :994
Number of digits :981
Number of digits :972
Number of digits :955
Number of digits :998
Number of digits :901____1100
Number of digits :9101
Number of digits :9102
Number of digits :9103
C#
Number of digits :9104
Number of digits :909
Number of digits :992
Number of digits :9107
Number of digits :910
Number of digits :911
Number of digits :96
Number of digits :913
Number of digits :90
Number of digits :91
Number of digits :92
Number of digits :94
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :910
Number of digits :901____10
Number of digits :99276
Number of digits :96
Number of digits :923
Number of digits :96
Number of digits :944
Number of digits :96
Number of digits :946
Number of digits :913
Number of digits :9891
Number of digits :9141
Number of digits :96
Number of digits :95
Number of digits :99
Number of digits :92
Number of digits :9897
Number of digits :99
Number of digits :9148
Number of digits :9900
Number of digits :9150
Number of digits :961
Number of digits :96
Number of digits :923
Number of digits :923
Number of digits :99299
PHP
Number of digits :9158
Number of digits :99301
Number of digits :99302
Number of digits :99303
Number of digits :9161
Number of digits :91____1163
Number of digits :9892
Number of digits :95
Number of digits :96
Number of digits :910
Number of digits :99129____69312
Number of digits :9163
Number of digits :99314
Number of digits :923
Number of digits :928
Number of digits :9163
Number of digits :9196
Number of digits :9197
Number of digits :9900____69321
Number of digits :96
Number of digits :91____1163____2202
Number of digits :99326
Number of digits :9204
Javascript
Number of digits :9205
Number of digits :99329
Number of digits :9909
Number of digits :9161
Number of digits :9209
Number of digits :95
Number of digits :96
Number of digits :910
Number of digits :99336
Number of digits :923
Number of digits :928
Number of digits :99110
Number of digits :9897
Number of digits :9232
Number of digits :9900
Number of digits :988
Number of digits :99344____69345
Number of digits :99344
Number of digits :99347
Number of digits :9237
Đầu ra
Number of digits :91
Độ phức tạp về thời gian. O[1] hoặc hằng số
Không gian phụ. O[1] hoặc hằng số
Chuyển đổi số đã cho thành giải pháp chuỗi để đếm các chữ số trong một số nguyên
Ta có thể chuyển số thành chuỗi rồi tìm độ dài chuỗi để được số chữ số trong số ban đầu.