Bạn chỉ cần chuyển đổi số nguyên thành một chuỗi và gọi hàm strlen[]
trên đó để tìm tổng số chữ số trong số nguyên
function intLen[int $num] { return strlen[[string] abs[$num]]; } echo intLen[0]; // 1 echo intLen[-0]; // 1 echo intLen[-12345]; // 5 echo intLen[12345]; // 5
Cần gọi abs[]
trên số nguyên để biểu tượng dấu trừ bị xóa khỏi số nguyên âm trước khi chuyển đổi số nguyên thành chuỗi. Nếu không, ký hiệu dấu trừ [
function intLen[int $num] { $len = 0; do { // take last digit off `$num` $num = [int] [$num / 10]; // increment counter $len++; } while [$num !== 0]; return $len; } echo intLen[0]; // 1 echo intLen[-0]; // 1 echo intLen[-12345]; // 5 echo intLen[12345]; // 50] sẽ được chuyển đổi thành chuỗi nguyên trạng và sẽ được tính vào độ dài chuỗi
Vòng lặp và loại bỏ các chữ số ở cuối
Bạn có thể chỉ cần tạo một vòng lặp và xóa chữ số cuối cùng khỏi số nguyên trong mỗi lần lặp cho đến khi không còn chữ số nào. Trong mỗi lần lặp, bạn có thể tăng bộ đếm, bộ đếm này sẽ cung cấp cho bạn tổng số chữ số trong số nguyên.
function intLen[int $num] { $len = 0; do { // take last digit off `$num` $num = [int] [$num / 10]; // increment counter $len++; } while [$num !== 0]; return $len; } echo intLen[0]; // 1 echo intLen[-0]; // 1 echo intLen[-12345]; // 5 echo intLen[12345]; // 5
Tính chiều dài toán học
Bạn có thể tính số chữ số trong một số nguyên theo cách sau
function intLen[int $num] { return [$num === 0] ? 1 : ceil[log10[abs[$num] + 1]] ; } echo intLen[0]; // 1 echo intLen[-0]; // 1 echo intLen[-12345]; // 5 echo intLen[12345]; // 5
Việc kiểm tra
function intLen[int $num] { $len = 0; do { // take last digit off `$num` $num = [int] [$num / 10]; // increment counter $len++; } while [$num !== 0]; return $len; } echo intLen[0]; // 1 echo intLen[-0]; // 1 echo intLen[-12345]; // 5 echo intLen[12345]; // 51 là cần thiết vì
function intLen[int $num] { $len = 0; do { // take last digit off `$num` $num = [int] [$num / 10]; // increment counter $len++; } while [$num !== 0]; return $len; } echo intLen[0]; // 1 echo intLen[-0]; // 1 echo intLen[-12345]; // 5 echo intLen[12345]; // 52 bằng với
function intLen[int $num] { $len = 0; do { // take last digit off `$num` $num = [int] [$num / 10]; // increment counter $len++; } while [$num !== 0]; return $len; } echo intLen[0]; // 1 echo intLen[-0]; // 1 echo intLen[-12345]; // 5 echo intLen[12345]; // 50
Hy vọng bạn tìm thấy bài viết này hữu ích. Nó được xuất bản vào ngày 09 tháng 11 năm 2022. Hãy thể hiện tình yêu và sự ủng hộ của bạn bằng cách
Trong phần này, chúng ta sẽ tìm hiểu các cách tiếp cận khác nhau để tìm độ dài của một số nguyên trong Java. Độ dài của một số nguyên có nghĩa là tổng số chữ số có trong số nguyên đó
Chúng ta có thể tìm độ dài của số nguyên bằng cách sử dụng các phương pháp sau
- Sử dụng vòng lặp while
- Sử dụng chuỗi
- Sử dụng phép nhân liên tục
- Sử dụng logarit
- Sử dụng đệ quy
Hãy thảo luận từng người một
Sử dụng vòng lặp while
Chúng ta có thể tìm độ dài của một số nguyên bằng cách sử dụng vòng lặp while. Quan sát đoạn mã sau
Tên tệp. Số nguyênLengthVí dụ. java
đầu ra
The length of the number 78 is 2 The length of the number 9 is 1 The length of the number 2345 is 4 The length of the number 899009 is 6 The length of the number 1 is 1 The length of the number 414 is 3 The length of the number 34 is 2 The length of the number 1000 is 4 The length of the number 2749 is 4
Sử dụng chuỗi
Một ý tưởng khác có thể là chuyển đổi số thành một chuỗi và sau đó tính toán kích thước của nó. Kích thước của chuỗi cho biết độ dài của chuỗi. Chương trình sau đây mô tả tương tự
Tên tệp. Độ dài số nguyênVí dụ1. java
đầu ra
The length of the number 78 is 2 The length of the number 9 is 1 The length of the number 2345 is 4 The length of the number 899009 is 6 The length of the number 1 is 1 The length of the number 414 is 3 The length of the number 34 is 2 The length of the number 1000 is 4 The length of the number 2749 is 4
Sử dụng phép nhân liên tục
Chúng ta có thể nhân một số 1 với 10 cho đến khi nó lớn hơn số n. Mỗi lần chúng ta nhân với 10, chúng ta tăng số lượng biến lên 1. Giá trị cuối cùng của số đếm là độ dài của số nguyên n. Hãy hiểu nó với sự trợ giúp của chương trình sau
Tên tệp. Độ dài số nguyênVí dụ2. java
đầu ra
The length of the number 78 is 2 The length of the number 9 is 1 The length of the number 2345 is 4 The length of the number 899009 is 6 The length of the number 1 is 1 The length of the number 414 is 3 The length of the number 34 is 2 The length of the number 1000 is 4 The length of the number 2749 is 4
Sử dụng logarit
Chúng ta cũng có thể sử dụng nhật ký để tìm độ dài của một số nguyên. Quan sát đoạn chương trình sau
Tên tệp. Độ dài số nguyênVí dụ3. java
đầu ra
The length of the number 78 is 2 The length of the number 9 is 1 The length of the number 2345 is 4 The length of the number 899009 is 6 The length of the number 1 is 1 The length of the number 414 is 3 The length of the number 34 is 2 The length of the number 1000 is 4 The length of the number 2749 is 4
Sử dụng đệ quy
Chúng ta cũng có thể sử dụng đệ quy để tìm độ dài của một số nguyên. Chương trình sau minh họa tương tự