VIết một chương trình tìm tất cả ước của một số nguyên được nhập từ bàn phím.
Bài giải
-------------------- ######## --------------------
Trước khi đi vào giải bài toán trên chúng ta cùng nhớ lại khái niệm ước của một số như sau:
- Một số b chia hết cho một số a, thì ta gọi a là ước của b, b là bội số của a
- Ví dụ: tất cả ước của số 8 là 1, 2, 4, 8.
Cách giải bài toán trên như sau:
- Nhập số nguyên từ bàn phím, ta gọi biến đó là n
- Sử dụng vòng lặp
for
lặp từ 1 đến n, cấu trúc của vòng lặp for sẽ làfor(int i = 1; i <= n; i++)
- Tại mỗi vòng lặp thứ i, kiểm tra xem n có chia hết cho i hay không, ví dụ
if(n % i == 0)
thì i là ước của n
Chúng ta sẽ giải bài toán tìm tất cả ước của một số nguyên bằng cách sử dụng vòng lặp for
trong C++ như sau:
#include <iostream> using namespace std; int main() { int n; cout << "Nhap so n: "; cin >> n; cout << "Tat ca cac uoc cua so " << n << " la "; for(int i = 1; i <= n; i++) { if(n % i == 0) { cout << i << " "; } } return 0; }
Và kết quả sau khi thực thi chương trình trên như sau:
Khi nhập số n = 20:
Khi nhập số n = 13:
Khi nhập số n = 12:
Trong chương trình trên có sử dụng cấu trúc điều khiển if else trong C++, nếu bạn nào chưa nắm rõ thì có thể xem lại ở bài trước nhé.
Nguồn: freetuts.net