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
Thông báo trang web đã đổi chủ: Chúng tôi sẽ sàn lọc nội dung, loại bỏ các bài viết vi 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

Viết một chương trình tìm ước chung lớn nhất của 2 số nguyên được nhập từ bàn phím

test php

Bài giải

-------------------- ######## --------------------

Theo trang Wikipedia: Số nguyên a chia hết cho số nguyên b thì số nguyên b được gọi là ước của số nguyên a. Số nguyên dương b lớn nhất là ước của cả hai số nguyên a và b, thì b được gọi là ước số chung lớn nhất (ƯCLN) của a và b.

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.

Trong trường hợp: 

  • Cả hai số nguyên a và b đều bằng 0 thì chúng không có ước chung lớn nhất.
  • Nếu một trong hai số a và b bằng 0, thì ƯCLN của a và b bằng giá trị tuyệt đối của số khác 0.

Cách giải bài toán trên như sau:

  • Nhập 2 số nguyên từ bàn phím, ta gọi 2 biến lần lượt là so1 và so2
  • Nếu cả hai số đều bằng 0 thì in ra màn hình không có ước chung lớn nhất
  • Nếu so1 khác 0 và so2 bằng 0 thì so1 là ước chung là ước chung lớn nhất
  • Nếu so1 bằng 0 và so2 khác 0 thì so2 là ước chung là ước chung lớn nhất
  • Tìm số nhỏ nhất trong 2 số, ta gọi đó là min 
  • Sử dụng vòng lặp for lặp từ 1 đến min, tìm ước lớn nhất của so1 va so2 bằng nhau. Các bạn có thể xem lại tìm ước của một số nguyên riêng lẻ ở bài tập trước.

Chúng ta sẽ giải bài toán trê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 <cmath>
#include <iostream>
using namespace std;

int main() {
    int i, so1, so2, min, ucln = 1;

    cout << "Nhap so thu nhat: ";
    cin >> so1;
    cout << "Nhap so thu hai: ";
    cin >> so2;
    if(so1 == 0 && so2 == 0) {
        cout << "Hai so 0 khong co uoc chung lon nhat" << endl;
    } else if (so1 != 0 && so2 == 0) {
        cout << "Uoc chung lon nhat cua " << so1 << " va " << so2 << " la " << abs(so1) << endl;
    } else if (so1 == 0 && so2 != 0) {
        cout << "Uoc chung lon nhat cua " << so1 << " va " << so2 << " la " << abs(so2) << endl;
    } else {
        if(so1 < so2) {
            min = so1;
        } else {
            min = so2;
        }
        
        for(int i = 1; i <= min; i++) {
            if(so1%i == 0 && so2%i == 0) {
                ucln = i;
            }
        }
        cout << "Uoc chung lon nhat cua " << so1 << " va " << so2 << " la " << ucln << 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à 6 và số thứ hai là 8:
ex for 1 JPG

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

ex for 2 JPG

Khi nhập số thứ nhất là 12 và số thứ hai là 30:

ex for 3 JPG

Khi nhập cả hai số bằng 0:

ex for 4 JPG

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

ex for 5 JPG

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

ex for 6 JPG

Trong chương trình trên chúng ta có sử dụng hàm abs đây là hàm xây dựng sẳn trong C++ để lấy giá trị tuyệt đối của một số. Ở bài này chúng ta chưa cần biết khái niệm hàm là gì đâu nhé, mình một bài để nói riêng về hàm trong C++.

7. Bài tập vòng lặp for trong 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