
Tóm Tắt
C++ -Tìm bội chung nhỏ nhất của hai số nguyên được nhập từ bàn phím
Viết một chương trình tìm bội chung nhỏ nhất của hai số nguyên được nhập từ bàn phím.
Bài giải
——————– ######## ——————–
Theo trang Wikipedia : Bội chung nhỏ nhất ( BCNN ) của hai số nguyên a và b là một số ít nguyên dương nhỏ nhất hoàn toàn có thể chia hết cho cả a và b. Nếu một trong hai số a hoặc b bằng 0, thì không có bội chung nhỏ nhất .
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Cách giải bài toán trên như sau :
- Nhập hai số nguyên từ bàn phím, ta gọi hai biến đó lần lượt là so1 và so2
- Kiểm tra nếu một trong hai số bằng 0 thì in ra màn hình không có bội chung nhỏ nhất
- Tìm số lớn nhất trong hai số, ta gọi đó là max
- Sử dụng vòng lặp
while
vô tận để tìm bội chung lớn nhất, trong bài này mình dùng vòng lặpwhile
vô tận vì chắc chắn sẽ tồn tại một bội chung nhỏ nhất của 2 số so1 và so2 - Trong mỗi vòng lặp kiểm tra nếu max chia hết cho cả hai số thì BCNN bằng max và dùng lệnh
break
để kết thúc vòng lặp - Nếu max không chia hết cho cả hai số, thì tạo nhiều bộ số của max tiếp theo
Chúng ta sẽ giải bài toán trên bằng cách sử dụng vòng lặp while
trong C++ như sau:
#include#include using namespace std; int main() { int i, so1, so2, max, bcnn = 1; cout << "Nhap so thu nhat: "; cin >> so1; cout << "Nhap so thu hai: "; cin >> so2; if(so1 == 0 || so2 == 0) { cout << so1 << " va " << so2 << " khong co boi chung nho nhat" << endl; } else { if(so1 > so2) { max = so1; } else { max = so2; } int i = max; while(1) { if(i % so1 == 0 && i % so2 == 0) { bcnn = i; break; } i += max; } cout << "Boi chung nho nhat cua " << so1 << " va " << so2 << " la " << bcnn << endl; } return 0; }
Và kết quả sau khi thực thi chương trình trên như sau:
Khi nhập số thứ nhất là 0 và số thứ hai là 3:
Khi nhập số thứ nhất là 8 và số thứ hai là 0:
Khi nhập số thứ nhất là 2 và số thứ hai là 3:
Trong chương trình này tất cả chúng ta có sử dụng cấu trúc điều khiển và tinh chỉnh if else và lệnh break trong C + +, nếu bạn nào chưa nắm rõ thì hoàn toàn có thể xem lại ở những bài trước nhé .
Bài tập vòng lặp while C++
Cùng chuyên mục:
Source: https://final-blade.com
Category: Kiến thức Internet