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:

  1. n = 12345, total = 0.
  2. digit = 12345 % 10 = 5, total = 0 + 5 = 5, n = 12345 / 10 = 1234.
  3. digit = 1234 % 10 = 4, total = 5 + 4 = 9, n = 1234 / 10 = 123.
  4. digit = 123 % 10 = 3, total = 9 + 3 = 12, n = 123 / 10 = 12.
  5. digit = 12 % 10 = 2, total = 12 + 2 = 14, n = 12 / 10 = 1.
  6. 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ố 1234515, 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)
  1. def sum_of_digits(n):: Đây là khai báo một hàm có tên sum_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ố.
  2. total = 0: Khởi tạo biến total để lưu tổng các chữ số.
  3. while n > 0:: Bắt đầu một vòng lặp chạy cho đến khi n trở thành 0. Trong mỗi lần lặp, chúng ta sẽ lấy từng chữ số ra khỏi n và cộng vào total.
  4. digit = n % 10: Lấy chữ số cuối cùng của n bằng cách lấy phần dư của n cho 10.
  5. total += digit: Cộng chữ số cuối cùng vào tổng total.
  6. n //= 10: Loại bỏ chữ số cuối cùng của n 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.
  7. return total: Trả về tổng của các chữ số sau khi vòng lặp kết thúc.
  8. 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ến number.
  9. result = sum_of_digits(number): Gọi hàm sum_of_digits để tính tổng các chữ số của number và gán kết quả vào biến result.
  10. print("Tong cac chu so cua", number, "la:", result): In ra kết quả tổng các chữ số của number.

Tính tổng các chữ số của số nguyên dương n Trong C++




















#include <iostream>
using namespace std;

int main() {
    int n;
    cout << "Nhap mot so nguyen duong: ";
    cin >> n;

    int total = 0;
    int originalN = n;

    while (n > 0) {
        int digit = n % 10; // Lấy chữ số cuối cùng của n bằng cách lấy phần dư cho 10
        total += digit;     // Cộng chữ số cuối cùng vào tổng
        n /= 10;            // Loại bỏ chữ số cuối cùng bằng cách thực hiện phép chia cho 10
    }

    cout << "Tong cac chu so cua " << originalN << " la: " << total << endl;
    return 0;
}

Giải thích từng dòng lệnh:

  1. #include <iostream>: Đây là một hướng dẫn tiền xử lý (preprocessor directive) để bao gồm thư viện <iostream>, cho phép sử dụng đầu vào/đầu ra chuẩn của C++.
  2. using namespace std;: Đây là một khai báo để sử dụng không gian tên std (standard namespace), giúp việc sử dụng các đối tượng và hàm từ thư viện chuẩn trở nên ngắn gọn hơn.
  3. int main() {: Khai báo hàm main, nơi bắt đầu thực thi chương trình.
  4. int n;: Khai báo biến n để lưu số nguyên dương nhập từ bàn phím.
  5. cout << "Nhap mot so nguyen duong: ";: Xuất dòng thông báo để yêu cầu người dùng nhập một số nguyên dương.
  6. cin >> n;: Nhận đầu vào từ bàn phím và gán vào biến n.
  7. int total = 0;: Khởi tạo biến total để lưu tổng các chữ số.
  8. int originalN = n;: Lưu lại giá trị ban đầu của n để sau này in ra thông báo.
  9. while (n > 0) {: Bắt đầu vòng lặp, lặp cho đến khi n trở thành 0.
  10. int digit = n % 10;: Lấy chữ số cuối cùng của n bằng cách lấy phần dư của n cho 10.
  11. total += digit;: Cộng chữ số cuối cùng vào tổng total.
  12. n /= 10;: Loại bỏ chữ số cuối cùng của n bằng cách thực hiện phép chia cho 10.
  13. cout << "Tong cac chu so cua " << originalN << " la: " << total << endl;: Xuất kết quả tổng các chữ số của số ban đầu.
  14. return 0;: Trả về giá trị 0, kết thúc chương trình.
Read:   Đếm số lượng ước số của số nguyên dương n Trong Python và C++
Hình đại diện của người dùng

admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *