Hướng dẫn how to count number of digits in python - cách đếm số chữ số trong python
Ví dụ 1: Số lượng chữ số trong một số nguyên sử dụng trong khi vòng lặp
Đầu ra Show
Number of digits: 4 Trong chương trình này, vòng lặp trong khi được lặp lại cho đến khi biểu thức kiểm tra Number of digits: 40 được đánh giá thành 0 (sai).
Ví dụ 2: Sử dụng các phương pháp sẵn có
Đầu ra 6 Trong chương trình này, vòng lặp trong khi được lặp lại cho đến khi biểu thức kiểm tra Number of digits: 40 được đánh giá thành 0 (sai). Chúng ta có thể chuyển đổi số thành một chuỗi và sau đó tìm độ dài của chuỗi để lấy số chữ số trong số gốc. & NBSP;and even faster (for 2 small enough that 6 is guaranteed to
be accurate) by avoid logarithms altogether and using binary instead:
0 1 2
Number of digits :93 Number of digits :908 3 7Tiếp theo, chúng tôi nhân với 62. Điều này tương đương với 63 hơi tròn xuống. Điều này tận dụng các quy tắc logarit để tính toán ước tính 64 từ 9.Bây giờ, bạn có thể tự hỏi làm thế nào chúng ta có thể ở thời điểm này, bởi vì mặc dù 66, điều tương tự cũng không đúng với 67. Hãy nhớ lại rằng 68 để chúng ta có thể thực hiện một số toán học nhanh:
Lưu ý rằng 69 ít nhất là 0, có nghĩa là chúng ta sẽ giảm nhiều nhất so với kết quả của chúng ta. Đây là nơi mà sự điều chỉnh cuối cùng xuất hiện, nơi chúng tôi kiểm tra 2, dẫn đến một 3 khi kết quả quá nhỏ hoặc 4 khi kết quả vừa phải.Tương tự như câu trả lời của Jodag, cách tiếp cận này thực sự thất bại với 2 rất lớn, ở đâu đó vào khoảng 6 trong đó 7 bị tắt nhiều hơn 8. Tuy nhiên, các số nguyên có kích thước đó có thể sẽ làm hỏng máy tính của bạn, vì vậy điều này đủ. Chúng ta có thể chuyển đổi số thành một chuỗi và sau đó tìm độ dài của chuỗi để lấy số chữ số trong số gốc. & NBSP; Example: 0 1 2Number of digits :93 Number of digits :908assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 3 assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 7 3 Number of digits :918
9Number of digits: 448 Number of digits :93 Number of digits :908 3 7C++ 9 0 1 2Number of digits :93 Number of digits :908 3 7 8 3 Number of digits :918 9 3 Number of digits :922 9 3 Number of digits : 96 9 9 Number of digits : 90 2Number of digits : 92 2Number of digits : 94 9Number of digits : 96 9 3 Number of digits : 99 Number of digits : 96 3 Number of digits :92 Number of digits :93 Number of digits :94 8 9 5 5 Number of digits :99 9Number of digits : 91 Number of digits : 92 Number of digits : 93 9 3 Number of digits : 96 Number of digits : 96 CNumber of digits : 98 3 4 5 5 7 8 9 0 1
2 3 4 9 3 7 9 9 Number of digits : 90 2Number of digits : 92 2Number of digits : 94 9Number of digits : 96 9 3 Number of digits : 99 Number of digits : 96 3 Number of digits :92 Number of digits :93 Number of digits :94 8 9 5 5 Number of digits :99 9Number of digits: 437 Number of digits: 438 Number of digits: 439 Number of digits: 440 9 3 Number of digits : 96 Number of digits : 96 C 3 4 5 5 7 9 0 1 9 8 2 3 4 9 3 7Number of digits: 465 Number of digits: 466 Number of digits: 467 Number of digits: 459 Number of digits: 465 Number of digits : 94 2Number of digits : 96 Java 9Number of digits : 96 Number of digits: 445 Number of digits: 446 9 8 9Number of digits: 448 3 4 5 7 2Number of digits: 491 Number of digits : 92 Number of digits: 493 Number of digits: 494 2 3 Number of digits: 457 Number of digits: 458 Number of digits: 459 Number of digits : 96 Python3 2 9 Number of digits: 462 Number of digits: 458 Number of digits: 464 2 3 Number of digits : 99 9Number of digits: 479 Number of digits: 448 Number of digits :93 Number of digits: 482 2 5 Number of digits: 487 Number of digits: 488 Number of digits: 459 9Number of digits : 96 Number of digits: 498 Number of digits: 499 9 01 02 Number of digits: 458 9 9 06 02 Number of digits: 458 09C# 2 11 1212121212 02 Number of digits: 467 2 01__218 02 60 9 0 1 9 8 2 3 4 9 3 7Number of digits: 465 Number of digits : 92 Number of digits: 465 Number of digits : 94 2Number of digits : 96 Java 9Number of digits : 96 Number of digits: 445 Number of digits: 446 9 8 9Number of digits: 448 3 4 5 7 2 72 73 2 3 Number of digits: 457 Number of digits: 458 Number of digits: 459 9Number of digits : 96 Number of digits : 96 log2(n) - 1 < floor(log2(n)) <= log2(n) log10(n) - 0.30102999566398114 < 0.30102999566398114 * floor(log2(n)) <= log10(n) floor(log10(n) - 0.30102999566398114) < floor(0.30102999566398114 * floor(log2(n))) <= floor(log10(n)) 2log2(n) - 1 < floor(log2(n)) <= log2(n) log10(n) - 0.30102999566398114 < 0.30102999566398114 * floor(log2(n)) <= log10(n) floor(log10(n) - 0.30102999566398114) < floor(0.30102999566398114 * floor(log2(n))) <= floor(log10(n)) 9 Number of digits: 462Number of digits: 458Number of digits: 464 81 2 3 Number of digits : 99 8 9Number of digits: 479 Number of digits: 448 Number of digits :93 Number of digits: 482 2 5 Number of digits: 487 Number of digits: 488 Number of digits: 459 9 8 9Number of digits : 96 2605 88Number of digits: 459 9Number of digits : 96 Number of digits: 498 Number of digits: 499 Number of digits : 96 9 01 02 Number of digits: 458 9 9 06 02 Number of digits: 458 09 2620 84622 623 log2(n) - 1 < floor(log2(n)) <= log2(n) log10(n) - 0.30102999566398114 < 0.30102999566398114 * floor(log2(n)) <= log10(n) floor(log10(n) - 0.30102999566398114) < floor(0.30102999566398114 * floor(log2(n))) <= floor(log10(n)) 2num = 123456 print(len(str(num)))11num = 123456 print(len(str(num)))1212121212num = 123456 print(len(str(num)))02 Number of digits: 467624 2 01__218 02 60 8 9629 9 3 Number of digits: 42 9 8 2636 2Number of digits : 94 9Number of digits : 96 9 3 Number of digits : 99 Number of digits : 96 9Number of digits :99 9648 Number of digits : 92 Number of digits: 494 651
Number of digits : 9
assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 0 num = 123456 print(len(str(num)))33Number of digits: 445 Number of digits: 446 Algorithm:
9Number of digits: 479 Number of digits: 448 Number of digits :93 65C++ 9 2 5 Number of digits :99 3 4 5 5 7 8 9 0 1 2 3 4 9 3 7Number of digits : 96 3 Number of digits :92 Number of digits :93 Number of digits :94 8 9 5 5 Number of digits :99 Java 9 3 Number of digits : 96 Number of digits : 96 CNumber of digits : 98 3 4 5 5 7 8 9 0 1 2 3 4 9 3 7Number of digits : 96 3 Number of digits :92 Number of digits :93 Number of digits :94 8 9 5 5 Number of digits :99 9Number of digits: 437 Number of digits: 438 Number of digits: 439 Number of digits: 440 9 3 Number of digits : 96 Number of digits : 96 C 3 4 5 5 7 3 4 5 5 7 9 0 1 9 8 2 0 38Number of digits: 467 40Number of digits: 458 Number of digits :94 Number of digits: 465 3 60 Number of digits: 459 2 3 60 50Number of digits: 467 622 9Number of digits : 96 9Number of digits: 479 Number of digits: 448 Number of digits :93 Number of digits: 482 9 8 2 5 Number of digits: 487 Number of digits: 488 Number of digits: 459 2Number of digits: 491 Number of digits : 92 Number of digits: 493 Number of digits: 494 9Number of digits : 96 Number of digits : 96 Python3Number of digits: 498 Number of digits: 499 9 0 22__21212 2 3 60 9 3 60 18 94 1212 11 02 Number of digits: 488 27Number of digits: 438 29 30 31C# 0 33Number of digits: 445 Number of digits: 446 9Number of digits: 448 3 4 5 7 9 8 2 0 664 Number of digits: 465 3 4 2 3 670 9Number of digits : 96 9Number of digits: 479 Number of digits: 448 Number of digits :93 65 9 8 2 5 Number of digits :99 2 72 42 74 75 45 74Number of digits: 494 9Number of digits : 96 Number of digits : 96 PHP 81 82 4 84Number of digits :94 8 9 0 Number of digits: 438 84 61 2 3 4 9 3 67 84 69Number of digits : 96 84 616 27 Number of digits: 438 Number of digits : 92 76Number of digits: 465 78 84 80623 JavaScript624 82 626 8 9 0 664 2 3 4 9 3 67 84 69Number of digits : 96 84 616 27 Number of digits: 438 Number of digits : 92 76651 JavaScript Number of digits :9
assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 9log2(n) - 1 < floor(log2(n)) <= log2(n) log10(n) - 0.30102999566398114 < 0.30102999566398114 * floor(log2(n)) <= log10(n) floor(log10(n) - 0.30102999566398114) < floor(0.30102999566398114 * floor(log2(n))) <= floor(log10(n)) 0 664 9 3 94Digit count of N = upper bound of log10(N). 96 Number of digits :99 C++ 9648 683 Number of digits: 494 Đầu ra Độ phức tạp về thời gian: O (log (n)) & nbsp; không gian phụ trợ: O (log (n)) Number of digits : 96 Giải pháp dựa trên log để đếm các chữ số trong một số nguyên 8Chúng ta có thể sử dụng log10 (logarit của cơ sở 10) để đếm số chữ số của các số dương (logarit không được xác định cho các số âm). Số lượng số lượng của N = giới hạn trên của log10 (n). & Nbsp; 9Number of digits : 91 Number of digits : 92 30Number of digits : 93 Dưới đây là việc thực hiện ý tưởng trên: Number of digits : 96 assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 0 assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 1 assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 2 36Number of digits : 98 Đầu ra Độ phức tạp về thời gian: O (log (n)) & nbsp; không gian phụ trợ: O (log (n)) Number of digits : 96 Giải pháp dựa trên log để đếm các chữ số trong một số nguyên 8Chúng ta có thể sử dụng log10 (logarit của cơ sở 10) để đếm số chữ số của các số dương (logarit không được xác định cho các số âm). Số lượng số lượng của N = giới hạn trên của log10 (n). & Nbsp; 9Number of digits: 437 Number of digits: 438 Number of digits: 439 Number of digits: 440 Dưới đây là việc thực hiện ý tưởng trên: 0 1 2assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 3 assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 4assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 5 assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 5 log2(n) - 1 < floor(log2(n)) <= log2(n) log10(n) - 0.30102999566398114 < 0.30102999566398114 * floor(log2(n)) <= log10(n) floor(log10(n) - 0.30102999566398114) < floor(0.30102999566398114 * floor(log2(n))) <= floor(log10(n)) 10 11 3 13Number of digits: 438 1 16Number of digits: 445 Number of digits: 446 9Number of digits: 448 3 4 5 7 9 8 2 0 664 9Number of digits : 96 9Number of digits: 479 Number of digits: 448 Number of digits :93 Number of digits: 482 9 8 2 5 Number of digits: 487 Number of digits: 488 Number of digits: 459 2Number of digits: 491 Number of digits : 92 Number of digits: 493 Number of digits: 494 9Number of digits : 96 Number of digits : 96 Python3Number of digits: 465 3 4Number of digits: 498 Number of digits: 499 2 3 670 11 02 Number of digits: 488 27Number of digits: 438 29 30 31C# 0 33Number of digits: 445 Number of digits: 446 9Number of digits: 448 3 4 5 7 9 8 2 0 664 9Number of digits : 96 9Number of digits: 479 Number of digits: 448 Number of digits :93 65 9 8 2 5 Number of digits :99 2 72Number of digits : 92 74Number of digits: 494 9Number of digits : 96 Number of digits : 96 PHP 81 82 4 84Number of digits :94 8 9 0 Number of digits: 438 84 61Number of digits : 96 84 616 27 Number of digits: 438 Number of digits : 92 76 9 4 84622 623 JavaScript624 82 626 8 9 0 664 Number of digits : 96 84 616 27 Number of digits: 438 Number of digits : 92 76Number of digits :900 Number of digits :901 651 JavaScript Number of digits : 9
assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 9log2(n) - 1 < floor(log2(n)) <= log2(n) log10(n) - 0.30102999566398114 < 0.30102999566398114 * floor(log2(n)) <= log10(n) floor(log10(n) - 0.30102999566398114) < floor(0.30102999566398114 * floor(log2(n))) <= floor(log10(n)) 0 664 to count digits in an integerChúng ta có thể chuyển đổi số thành một chuỗi và sau đó tìm độ dài của chuỗi để lấy số chữ số trong số gốc. & NBSP; C++ 9 0 1 2Number of digits :93 Number of digits :908 3 7 8 9Number of digits :913 9Number of digits :915 Number of digits : 96 3 Number of digits :918 8 9 3 Number of digits :922 9Number of digits :924 9 3 Number of digits : 96 Number of digits : 96 Java 24 25Number of digits: 479 Number of digits: 445 Number of digits: 446 9Number of digits: 448 Number of digits :93 Number of digits :908 3 7 9 8 2Number of digits :943 2Number of digits :945 9Number of digits : 96 9Number of digits: 479 Number of digits: 448 Number of digits :93 Number of digits :952 9 8 2 3 Number of digits: 487 Number of digits :958 Number of digits: 459 2Number of digits :924 9Number of digits : 96 Number of digits : 96 Python3Number of digits: 498 Number of digits :966 9 11 02 Number of digits :970 Number of digits :971 9 3 Number of digits :974 Number of digits :971 11 02 Number of digits :978 27Number of digits :980 C# 0 33 0 Number of digits :984 Number of digits: 445 Number of digits: 446 9Number of digits: 448 Number of digits :93 Number of digits :908 3 7 9 8 9Number of digits: 479 Number of digits: 448 Number of digits :93 Number of digits :952 2Number of digits :999 9Number of digits : 96 2 3 Number of digits: 487 Number of digits :958 Number of digits: 459 9 8Number of digits: 498 Number of digits :966 2Number of digits :924 9Number of digits : 96 Number of digits : 96 assert 4 == (0b1111).bit_length() assert 8 == (0b1011_1000).bit_length() assert 9 == (0b1_1011_1000).bit_length() 9num = 123456 print(len(str(num)))11num = 123456 print(len(str(num)))02 Number of digits :970Number of digits :971624 9 3 Number of digits :974 Number of digits :971 9 8 2Number of digits : 926 2Number of digits : 928 9Number of digits : 96 9Number of digits : 932 9Number of digits :924 651
0 33Suruchi Kumari . If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. Làm thế nào để bạn đếm số chữ số trong một số?Công thức sẽ là số nguyên của (log10 (số) + 1).Ví dụ, nếu số là 1245, thì nó trên 1000 và dưới 10000, do đó giá trị nhật ký sẽ nằm trong phạm vi 3
Làm thế nào để bạn đếm số chữ số trong một chuỗi?Để đếm số chữ số trong một chuỗi, hãy sử dụng phương thức thay thế () để thay thế tất cả các ký tự không chữ số bằng một chuỗi trống và truy cập thuộc tính độ dài trên kết quả.Phương thức thay thế trả về một chuỗi mới với các trận đấu được thay thế.use the replace() method to replace all non digit characters with an empty string and access the length property on the result. The replace method returns a new string with the matches replaced. |