C++ - Tìm tất cả ước của một số nguyên được nhập từ bàn phím
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:
Bài viết này được đăng tại [free tuts .net]
#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é.
7. Bài tập vòng lặp for trong C++
- C++ - In tất cả các số chẵn từ 1 đến n được nhập từ bàn phím
- C++ - Đảo ngược một số nguyên bất kỳ được nhập từ bàn phím
- C++ - In ra hình tam giác với các ký tự *
- C++ - In ra màn hình bảng cửu chương của một số nhập từ bàn phím
- C++ - Tính giai thừa của một số được nhập từ bàn phím
- C++ - Tìm tất cả ước của một số nguyên được nhập từ bàn phím
- C++ - Tính lũy thừa của một số nguyên được nhập từ bàn phím
- C++ - Tìm ước chung lớn nhất của 2 số nguyên được nhập từ bàn phím