STARTING
CONTROL STATEMENT
FUNCTION
ARRAY & POINTER
OOP
STL
ITERATORS
OTHER FEATURES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬ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.

test php

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ố nguyên dương nhỏ nhất 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.

test php

banquyen png
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ặ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à 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 <cmath>
#include <iostream>
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:

Bài viết này được đăng tại [free tuts .net]

Khi nhập số thứ nhất là 0 và số thứ hai là 3:

ex while 1 JPG

Khi nhập số thứ nhất là 8 và số thứ hai là 0:

ex while 2 JPG

Khi nhập số thứ nhất là 2 và số thứ hai là 3:

ex while 3 JPG

Trong chương trình này chúng ta có sử dụng cấu trúc điều khiển if else và 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++

Cùng chuyên mục:

Cách điều khiển Touch Sensor trong Arduino

Cách điều khiển Touch Sensor trong Arduino

Cách giao tiếp Keypad với màn hình LCD trong Arduino

Cách giao tiếp Keypad với màn hình LCD trong Arduino

Cách điều khiển Keypad trong Arduino

Cách điều khiển Keypad trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển button trong Arduino

Cách điều khiển button trong Arduino

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Viết chương trình Arduino đầu tiên

Viết chương trình Arduino đầu tiên

Các kiến thức cần biết trước khi học lập trình với Arduino

Các kiến thức cần biết trước khi học lập trình với Arduino

Hướng dẫn cài đặt và sử dụng Arduino IDE

Hướng dẫn cài đặt và sử dụng Arduino IDE

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Cách nhân hai số trong ngôn ngữ C

Cách nhân hai số trong ngôn ngữ C

Cách cộng hai số nguyên trong C

Cách cộng hai số nguyên trong C

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

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 trong thư viện ctime C / C++

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cstdio C / C++

Top