Chương trình python để đếm số chữ số trong một số bằng vòng lặp for

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.  

  1. 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
  2. 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
  3. 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
  4. 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.  
  5. 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 :9
93

Number of digits :9
94

Number of digits :9
95

Number of digits :9
96
Number of digits :9
97
Number of digits :9
98

 

Number of digits :9
0
Number of digits :9
1
Number of digits :9
2
Number of digits :9
2
Number of digits :9
4

Number of digits :9
5

Number of digits :9
6
Number of digits :9
7
Number of digits :9
8

Number of digits :9
9
Number of digits :9
00
Number of digits :9
01

Number of digits :9
6
Number of digits :9
0
Number of digits :9
04

Number of digits :9
6
Number of digits :9
06
Number of digits :9
07

Number of digits :9
9
Number of digits :9
09

Number of digits :9
9
Number of digits :9
11

_______06____213

Number of digits :9
6
Number of digits :9
00
Number of digits :9
16

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
0
Number of digits :9
930
Number of digits :9
931____6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
2
Number of digits :9
2
Number of digits :9
937

Number of digits :9
6
Number of digits :9
939
Number of digits :9
940
Number of digits :9
941

Number of digits :9
6
Number of digits :9
00
Number of digits :9
944

Number of digits :9
13

 

Number of digits :9
946

Number of digits :9
947

C




Number of digits :9
948

Number of digits :9
949

Number of digits :9
950

 

Number of digits :9
0
Number of digits :9
1
Number of digits :9
2
Number of digits :9
2
Number of digits :9
4

Number of digits :9
5

Number of digits :9
6
Number of digits :9
7
Number of digits :9
8

Number of digits :9
9
Number of digits :9
00
Number of digits :9
01

Number of digits :9
6
Number of digits :9
0
Number of digits :9
04

Number of digits :9
6
Number of digits :9
06
Number of digits :9
07

Number of digits :9
9
Number of digits :9
09

Number of digits :9
9
Number of digits :9
11

_______06____213

Number of digits :9
6
Number of digits :9
00
Number of digits :9
16

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
0
Number of digits :9
930
Number of digits :9
931____6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
2
Number of digits :9
2
Number of digits :9
937

Number of digits :9
6
Number of digits :9
00______001
Number of digits :9
02
Number of digits :9
03

Number of digits :9
6
Number of digits :9
00
Number of digits :9
944

Number of digits :9
13

Java




Number of digits :9
08

Number of digits :9
09

Number of digits :9
10
Number of digits :9
11

 

Number of digits :9
12
Number of digits :9
13
Number of digits :9
14

 

Number of digits :9
6
Number of digits :9
16
Number of digits :9
0
Number of digits :9
1______02
Number of digits :9
4

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
0
Number of digits :9
25
Number of digits :9
26
Number of digits :9
27

Number of digits :9
9
Number of digits :9
06
Number of digits :9
30
Number of digits :9
26
Number of digits :9
32

_______033

Number of digits :9
34____035
Number of digits :9
27

Number of digits :9
33
Number of digits :9
11

_______09____213

Number of digits :9
9
Number of digits :9
00
Number of digits :9
16

_______06____213

 

Number of digits :9
6
Number of digits :9
47

Number of digits :9
6
Number of digits :9
12
Number of digits :9
16
Number of digits :9
931
Number of digits :9
52

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
2
Number of digits :9
57____058
Number of digits :9
27

_______09____061____6940

Number of digits :9
63
Number of digits :9
64

_______06____213

Number of digits :9
13

Number of digits :9
68

Python3




Number of digits :9
69

Number of digits :9
70

 

 

Number of digits :9
71
Number of digits :9
72

Number of digits :9
6
Number of digits :9
74____075
Number of digits :9
26

Number of digits :9
6
Number of digits :9
06
Number of digits :9
79
Number of digits :9
75
Number of digits :9
26
Number of digits :9
82

Number of digits :9
9
Number of digits :9
84
Number of digits :9
85
Number of digits :9
85
Number of digits :9
75
Number of digits :9
35

Number of digits :9
9
Number of digits :9
74____091
Number of digits :9
75
Number of digits :9
93

Number of digits :9
6
Number of digits :9
00
Number of digits :9
74

 

 

Number of digits :9
97

Number of digits :9
84
Number of digits :9
75
Number of digits :9
58

Number of digits :9
001
Number of digits :9
01
Number of digits :9
003
Number of digits :9
004
Number of digits :9
005

 

Number of digits :9
006

C#




Number of digits :9
007

Number of digits :9
09

Number of digits :9
96
Number of digits :9
010

 

Number of digits :9
13
Number of digits :9
14

 

Number of digits :9
6
Number of digits :9
16
Number of digits :9
0
Number of digits :9
1______02
Number of digits :9
4

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
0
Number of digits :9
04

Number of digits :9
9
Number of digits :9
06
Number of digits :9
07

Number of digits :9
33
Number of digits :9
09

Number of digits :9
33
Number of digits :9
11

_______09____213

Number of digits :9
9
Number of digits :9
00
Number of digits :9
16

_______06____213

 

Number of digits :9
6
Number of digits :9
47

Number of digits :9
6
Number of digits :9
12
Number of digits :9
16
Number of digits :9
931
Number of digits :9
044

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
2
Number of digits :9
937

Number of digits :9
9
Number of digits :9
051
Number of digits :9
052

Number of digits :9
053
Number of digits :9
91____1055
Number of digits :9
64

_______06____213

Number of digits :9
13

 

Number of digits :9
060

PHP




Number of digits :9
061

Number of digits :9
062

Number of digits :9
94

 

Number of digits :9
064
Number of digits :9
1____1066______6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
070
Number of digits :9
071

Number of digits :9
6
Number of digits :9
06
Number of digits :9
01
Number of digits :9
066
Number of digits :9
076

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
066
Number of digits :9
75____1082
Number of digits :9
01
Number of digits :9
066
Number of digits :9
085

Number of digits :9
9
Number of digits :9
087
Number of digits :9
070
Number of digits :9
27

_______06____213

Number of digits :9
6
Number of digits :9
00
Number of digits :9
070
Number of digits :9
27

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
066
Number of digits :9
099

Number of digits :9
100
Number of digits :9
940

Number of digits :9
9
Number of digits :9
103
Number of digits :9
066
Number of digits :9
105

 

Number of digits :9
106

Number of digits :9
107

Javascript




Number of digits :9
108

 

Number of digits :9
109

Number of digits :9
94

 

Number of digits :9
064
Number of digits :9
112

Number of digits :9
5

Number of digits :9
6
Number of digits :9
115

Number of digits :9
6
Number of digits :9
06
Number of digits :9
118

Number of digits :9
6
Number of digits :9
5

_______09____2122

Number of digits :9
9
Number of digits :9
11

_______06____213

Number of digits :9
6
Number of digits :9
00
Number of digits :9
16

Number of digits :9
13

 

Number of digits :9
18

 

_______06____6937

Number of digits :9
6
Number of digits :9
135____6940
Number of digits :9
64

Number of digits :9
6

Number of digits :9
139

 

Number of digits :9
140

Đầu ra

Number of digits :9
0

Độ 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 :9
141

Number of digits :9
949

Number of digits :9
95

Number of digits :9
96
Number of digits :9
97
Number of digits :9
98

 

Number of digits :9
0
Number of digits :9
1
Number of digits :9
2
Number of digits :9
2
Number of digits :9
4

Number of digits :9
5

Number of digits :9
6
Number of digits :9
7
Number of digits :9
155

Number of digits :9
9
Number of digits :9
00
Number of digits :9
01

Number of digits :9
6
Number of digits :9
00
Number of digits :9
161

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
0
Number of digits :9
930
Number of digits :9
931____6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
2
Number of digits :9
2
Number of digits :9
937

Number of digits :9
6
Number of digits :9
939
Number of digits :9
175
Number of digits :9
941

Number of digits :9
6
Number of digits :9
00
Number of digits :9
944

Number of digits :9
13

Number of digits :9
181

C




Number of digits :9
182

Number of digits :9
949

Number of digits :9
950

 

Number of digits :9
0
Number of digits :9
1
Number of digits :9
2
Number of digits :9
2
Number of digits :9
4

Number of digits :9
5

Number of digits :9
6
Number of digits :9
7
Number of digits :9
155

Number of digits :9
9
Number of digits :9
00
Number of digits :9
01

Number of digits :9
6
Number of digits :9
00
Number of digits :9
161

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
0
Number of digits :9
930
Number of digits :9
931____6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
2
Number of digits :9
2
Number of digits :9
937

Number of digits :9
6
Number of digits :9
00______001
Number of digits :9
02
Number of digits :9
03

Number of digits :9
6
Number of digits :9
00
Number of digits :9
944

Number of digits :9
13

Java




Number of digits :9
08

Number of digits :9
09

Number of digits :9
10
Number of digits :9
9323

 

Number of digits :9
13
Number of digits :9
14

 

Number of digits :9
6
Number of digits :9
16
Number of digits :9
0
Number of digits :9
1______02
Number of digits :9
4

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
7
Number of digits :9
9336
Number of digits :9
35
Number of digits :9
9338
Number of digits :9
26
Number of digits :9
932

Number of digits :9
33
Number of digits :9
00
Number of digits :9
93____027

Number of digits :9
9
Number of digits :9
00
Number of digits :9
93
Number of digits :9
9348
Number of digits :9
35
Number of digits :9
105

_______06____213

 

Number of digits :9
6
Number of digits :9
47

Number of digits :9
6
Number of digits :9
12
Number of digits :9
16
Number of digits :9
931
Number of digits :9
52

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
2
Number of digits :9
57____058
Number of digits :9
27

_______09____061____6940

Number of digits :9
63
Number of digits :9
64

_______06____213

Number of digits :9
13

 

Number of digits :9
68

Python3




Number of digits :9
9376

Number of digits :9
70

 

 

Number of digits :9
71
Number of digits :9
72

Number of digits :9
6
Number of digits :9
7
Number of digits :9
84
Number of digits :9
85
Number of digits :9
85
Number of digits :9
35
Number of digits :9
75
Number of digits :9
75
Number of digits :9
26
Number of digits :9
82

Number of digits :9
9
Number of digits :9
00
Number of digits :9
93

Number of digits :9
6
Number of digits :9
00
Number of digits :9
93
Number of digits :9
91
Number of digits :9
9397
Number of digits :9
85
Number of digits :9
85
Number of digits :9
35
Number of digits :9
932

 

 

Number of digits :9
97

Number of digits :9
84
Number of digits :9
75
Number of digits :9
58

Number of digits :9
001
Number of digits :9
01
Number of digits :9
003
Number of digits :9
004
Number of digits :9
005

 

Number of digits :9
006

C#




Number of digits :9
007

Number of digits :9
09

Number of digits :9
96
Number of digits :9
010

 

Number of digits :9
13
Number of digits :9
14

 

Number of digits :9
6
Number of digits :9
16
Number of digits :9
0
Number of digits :9
1______02
Number of digits :9
4

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
7
Number of digits :9
155

Number of digits :9
33
Number of digits :9
00
Number of digits :9
01

Number of digits :9
9
Number of digits :9
00
Number of digits :9
161

_______06____213

 

_______06____69438

Number of digits :9
6
Number of digits :9
12
Number of digits :9
16
Number of digits :9
931
Number of digits :9
044

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
2
Number of digits :9
937

Number of digits :9
9
Number of digits :9
051____69451

_______1053____091____69454

Number of digits :9
053
Number of digits :9
64

_______06____213

Number of digits :9
13

 

Number of digits :9
060

PHP




Number of digits :9
061

Number of digits :9
9462

Number of digits :9
94

 

Number of digits :9
064
Number of digits :9
1____1066______6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
7
Number of digits :9
01
Number of digits :9
066
Number of digits :9
9473

Number of digits :9
9
Number of digits :9
00
Number of digits :9
01

Number of digits :9
6
Number of digits :9
00
Number of digits :9
9479
Number of digits :9
066
Number of digits :9
9481

Number of digits :9
13

 

Number of digits :9
9483

Number of digits :9
066
Number of digits :9
099

Number of digits :9
001
Number of digits :9
01______6940
Number of digits :9
9489

Number of digits :9
33
Number of digits :9
9491
Number of digits :9
066
Number of digits :9
9493

 

Number of digits :9
9494

Number of digits :9
107

Javascript




Number of digits :9
108

 

Number of digits :9
9497

Number of digits :9
949

 

Number of digits :9
064
Number of digits :9
112

Number of digits :9
5

Number of digits :9
6
Number of digits :9
7
Number of digits :9
155

Number of digits :9
9
Number of digits :9
00
Number of digits :9
01

Number of digits :9
6
Number of digits :9
00
Number of digits :9
9510

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
9513
Number of digits :9
937

Number of digits :9
135
Number of digits :9
175
Number of digits :9
64

 

Number of digits :9
140

Đầ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 :9
9519

Number of digits :9
949

Number of digits :9
95

Number of digits :9
96
Number of digits :9
97
Number of digits :9
98

 

Number of digits :9
0
Number of digits :9
1
Number of digits :9
2
Number of digits :9
2
Number of digits :9
9529

Number of digits :9
9530
Number of digits :9
00
Number of digits :9
9532
Number of digits :9
01
Number of digits :9
9534
Number of digits :9
9535

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
0
Number of digits :9
930
Number of digits :9
931____6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
2
Number of digits :9
2
Number of digits :9
937

_______ 06____ 6939 ___ 6940

Number of digits :9
9550
Number of digits :9
941

Number of digits :9
6
Number of digits :9
00
Number of digits :9
944

Number of digits :9
13

 

Number of digits :9
9556

C




Number of digits :9
9557

Number of digits :9
949

Number of digits :9
9559

Number of digits :9
950

 

Number of digits :9
0
Number of digits :9
1
Number of digits :9
2
Number of digits :9
2
Number of digits :9
9529

Number of digits :9
9530
Number of digits :9
00
Number of digits :9
9532
Number of digits :9
01
Number of digits :9
9534
Number of digits :9
9535

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
0
Number of digits :9
930
Number of digits :9
931____6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
2
Number of digits :9
2
Number of digits :9
937

Number of digits :9
6
Number of digits :9
00______001
Number of digits :9
02
Number of digits :9
03

Number of digits :9
6
Number of digits :9
00
Number of digits :9
944

Number of digits :9
13

Java




Number of digits :9
08

Number of digits :9
09

Number of digits :9
10
Number of digits :9
9323

 

Number of digits :9
13
Number of digits :9
14

 

Number of digits :9
6
Number of digits :9
16
Number of digits :9
0
Number of digits :9
1______02
Number of digits :9
4

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
00
Number of digits :9
01
Number of digits :9
0
Number of digits :9
9610
Number of digits :9
93
Number of digits :9
105

_______06____213

 

Number of digits :9
6
Number of digits :9
47

Number of digits :9
6
Number of digits :9
12
Number of digits :9
16
Number of digits :9
931
Number of digits :9
52

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
2
Number of digits :9
57____058
Number of digits :9
27

_______09____061____6940

Number of digits :9
63
Number of digits :9
64

_______06____213

Number of digits :9
13

Number of digits :9
68

Python3




Number of digits :9
9638

Number of digits :9
9639

 

Number of digits :9
9640

Number of digits :9
10
Number of digits :9
9642

 

 

Number of digits :9
71
Number of digits :9
72

Number of digits :9
6
Number of digits :9
00
Number of digits :9
9647
Number of digits :9
91
Number of digits :9
93
Number of digits :9
932

 

 

Number of digits :9
97

Number of digits :9
84
Number of digits :9
75
Number of digits :9
58

Number of digits :9
001
Number of digits :9
01
Number of digits :9
003
Number of digits :9
004
Number of digits :9
005

 

Number of digits :9
006

C#




Number of digits :9
007

Number of digits :9
09

Number of digits :9
96
Number of digits :9
010

 

Number of digits :9
13
Number of digits :9
14

 

Number of digits :9
6
Number of digits :9
16
Number of digits :9
0
Number of digits :9
1______02
Number of digits :9
4

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
00
Number of digits :9
01
Number of digits :9
0
Number of digits :9
9679

_______06____213

 

Number of digits :9
6
Number of digits :9
47

Number of digits :9
6
Number of digits :9
12
Number of digits :9
16
Number of digits :9
931
Number of digits :9
044

Number of digits :9
6
Number of digits :9
5

Number of digits :9
9
Number of digits :9
2
Number of digits :9
937

Number of digits :9
9
Number of digits :9
051____6940

Number of digits :9
053
Number of digits :9
64

_______06____213

Number of digits :9
13

 

Number of digits :9
9702

PHP




Number of digits :9
061

Number of digits :9
9704

Number of digits :9
9705

Number of digits :9
9706

 

Number of digits :9
064
Number of digits :9
1____1066______6932

Number of digits :9
5

Number of digits :9
6
Number of digits :9
00
Number of digits :9
9532____69715
Number of digits :9
066
Number of digits :9
9717

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
066
Number of digits :9
099

Number of digits :9
100
Number of digits :9
940____69724

Number of digits :9
6
Number of digits :9
1____1066
Number of digits :9
105

 

Number of digits :9
9729

Number of digits :9
107

Javascript




Number of digits :9
108

 

Number of digits :9
9732

Number of digits :9
949

Number of digits :9
064
Number of digits :9
112

Number of digits :9
5

Number of digits :9
6
Number of digits :9
00
Number of digits :9
9739

Number of digits :9
13

 

Number of digits :9
18

Number of digits :9
9513
Number of digits :9
937

Number of digits :9
135
Number of digits :9
940 
Number of digits :9
91

Number of digits :9
9747____69748

Number of digits :9
9747

Number of digits :9
9750

 

Number of digits :9
140

Đầu ra

Number of digits :9
0

Độ 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.  

Chủ Đề