Tính tổng tất cả ước số của số nguyên dương N là một bài tập lập trình rất cơ bản. Bài tập này dành cho những bạn sinh viên mới bắt đầu học lập trình. Giải các bài tập này giúp các bạn có được tư duy lập trình, học và làm quen với ngôn ngữ lập trình.
Bài toán tính tổng tất cả ước số của số N
Trên ngôn ngữ lập trình C++. Hãy nhập vào một số nguyên dương N từ bàn phím. Hãy tính tổng tất cả ước số nguyên dương thể có của số N.
Như vậy, bài toán này sẽ giúp các bạn học được các kiến thức cơ bản nhất về nhập xuất trong lập trình C++. Cách sử dụng vòng lặp và cấu trúc điều khiển rẽ nhánh của ngôn ngữ lập trình C++.
Nhận xét:
- Đã nhắc tới tổng thì không bao giờ là số âm được. Ở bài toán này tổng sẽ luôn >= 1.
- Chú ý khởi tạo giá trị biến tổng bằng 0 trước khi tính toán.
Các bước thực hiện
Kiểm tra nhập vào số n có phải số nguyên dương không.(Việc này là tùy chọn, bạn nên làm thêm)
(Bạn có thể thử xem có cách nào kiểm tra số nhập vào là số nguyên hay số thực hay không?)
Để giải quyết bài toán tính tổng tất cả ước số của số N. Bạn cần duyệt qua từng số nguyên trong đoạn [1, N] và kiểm tra xem mỗi số đó, số nào mà số N chia hết.
Sử dụng vòng lặp để thực hiện duyệt từ 1 đến N.
Sử dụng câu lệnh if
để kiểm tra số hiện tại có phải ước số của số N hay không? Nếu có, công thêm số đó vào biến tổng.
In kết quả ra màn hình.
Lời giải tính tổng tất cả ước số của số N
Lưu ý: Các bạn hãy cố gắng tự mình giải quyết bài toán trước khi xem đáp án.
Code dưới đây được Nguyễn Văn Hiếu Blog trình bày bằng ngôn ngữ lập trình C++.
/* Created by nguyenvanhieu.vn */ /* Tinh tong tat ca cac uoc so cua so nguyen duong n */ #include <iostream> using namespace std; int main(){ int n; do{ cin >> n; if(n <= 0){ cout << "nNhap lai n = "; } }while(n <= 0); int sum = 0; for(int i = 1;i <= n;i++){ if(n % i == 0){ sum += i; } } cout << "nSum = " << sum << 'n'; }
Output:
Nhap n = 24 Sum = 60
Như vậy, tôi đã hoàn thành bài hướng dẫn giải bài toán: “Tính tổng tất cả ước số của số nguyên dương N” sử dụng ngôn ngữ lập trình C++. Hi vọng bài viết hữu ích với tất cả các bạn!
Chúc các bạn học tập tốt!
Để lại một bình luận