Theo trangWikipedia: Bộichung nhỏ nhất (BCNN) của hai số nguyên a và b là một số nguyên dương nhỏ nhất có thể chia hết cho cảavàb. Nếumột trong hai số a hoặc bbằng0, thì không có bội chung nhỏ nhất.

*




Bạn đang xem: Thuật toán bội chung nhỏ nhất

*

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à so2Kiể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ấtTìm số lớn nhất trong hai số, ta gọi đó là maxSử 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ặp while 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à so2Trong 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ặpNế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 > so1; cout > so2; if(so1 == 0 || so2 == 0) { cout so2) { max = so1; } else { max = so2; } int i = max; while(1) { if(i % so1 == 0 && i % so2 == 0) { bcnn = i; break; } i += max; } cout

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ấtlà 2 và số thứ hai là 3:

Trong chương trình này chúng ta có sử dụng cấu trúc điều khiển if elsevà lệnh break trong C++, nếu bạn nào chưa nắm rõ thì có thể xem lại ở các bài trước nhé.

Bài tập vòng lặp while C++





Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Bài này sẽ tổng hợp hơn 1000 bài tập C / C++ có lời giải…



Các hàm toán học (math) trong C / C++

Nếu bạn đang học C++ căn bản thì phải biết công dụng của những hàm…


Bài tập vòng lặp while và do while trong C++

Nếu một bài toán được giải bằng vòng lặp while thì bạn hoàn toàn có…


Bài tập vòng lặp for trong C++ có lời giải

Vòng lặp for C++ rất quan trọng, nó được sử dụng rất nhiều khi xử…


Bài tập if else trong C++ (có đổi sang switch case)

Để thành thạo hai lệnh rẻ nhánh if else và switch case thì bạn phải…


Các toán tử trong C++

Toán tử đóng vai trò rất quan trọng trong lập trình, nó giúp chúng ta…




Xem thêm: Bài Tập Hiện Tại Hoàn Thành Và Quá Khứ Đơn, Bài Tập Về Thì Hiện Tại Hoàn Thành Và Quá Khứ Đơn

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

C++ là một ngôn ngữ lập trình phổ biến và mạnh mẽ có kiểu dữ…


Hàm đệ quy trong ngôn ngữ C

Giải thuật đệ quy nói chung và trong ngôn ngữ C nói riêng thì hàm…