Tính tổng các chữ số của số nguyên dương n Trong Python và C++
Bài viết này chia sẻ cách tính tổng các chữ số của số nguyên dương n Trong Python và C++
Minh họa tính tổng các chữ số của số nguyên dương n
Giả sử bạn nhập số nguyên dương 12345
. Chương trình sẽ hoạt động như sau:
n = 12345
,total = 0
.digit = 12345 % 10 = 5
,total = 0 + 5 = 5
,n = 12345 / 10 = 1234
.digit = 1234 % 10 = 4
,total = 5 + 4 = 9
,n = 1234 / 10 = 123
.digit = 123 % 10 = 3
,total = 9 + 3 = 12
,n = 123 / 10 = 12
.digit = 12 % 10 = 2
,total = 12 + 2 = 14
,n = 12 / 10 = 1
.digit = 1 % 10 = 1
,total = 14 + 1 = 15
,n = 1 / 10 = 0
.
Sau khi kết thúc vòng lặp, tổng các chữ số của số 12345
là 15
, và thông báo sẽ được in ra: “Tổng các chữ số của 12345 là: 15”.
Tính tổng các chữ số của số nguyên dương n Trong Python
def sum_of_digits(n): total = 0 while n > 0: digit = n % 10 total += digit n //= 10 return total number = int(input("Nhap mot so nguyen duong: ")) result = sum_of_digits(number) print("Tong cac chu so cua", number, "la:", result)
def sum_of_digits(n):
: Đây là khai báo một hàm có tênsum_of_digits
nhận một tham sốn
, là số nguyên dương cần tính tổng các chữ số.total = 0
: Khởi tạo biếntotal
để lưu tổng các chữ số.while n > 0:
: Bắt đầu một vòng lặp chạy cho đến khin
trở thành 0. Trong mỗi lần lặp, chúng ta sẽ lấy từng chữ số ra khỏin
và cộng vàototal
.digit = n % 10
: Lấy chữ số cuối cùng củan
bằng cách lấy phần dư củan
cho 10.total += digit
: Cộng chữ số cuối cùng vào tổngtotal
.n //= 10
: Loại bỏ chữ số cuối cùng củan
bằng cách thực hiện phép chia nguyên cho 10. Điều này dẫn đến loại bỏ chữ số cuối cùng.return total
: Trả về tổng của các chữ số sau khi vòng lặp kết thúc.number = int(input("Nhap mot so nguyen duong: "))
: Nhập số nguyên dương từ bàn phím và gán vào biếnnumber
.result = sum_of_digits(number)
: Gọi hàmsum_of_digits
để tính tổng các chữ số củanumber
và gán kết quả vào biếnresult
.print("Tong cac chu so cua", number, "la:", result)
: In ra kết quả tổng các chữ số củanumber
.