Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Cách tìm UCLN,BCNN C++

15:28 14-10-2018 818 lượt xem 4 bình luận 20:01 18-10-2018

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int a = 0;
    int b = 0;
    cout << "Nhap so a: ";
    cin >> a;
    cout << "Nhap so b: ";
    cin >> b;
    int c = 0;
    for (int i = 1; i <= (a + b); i++)
    {
        if ((a%i == 0) && (b%i == 0)) c = i;
    }
    cout << "USCLN: ";
    cout << c << endl;
    cout << "BSCNN: ";
    cout << ((a * b) / c) << endl;
    system("pause");
    return 0;
}

 

 

 

em muốn hỏi chương trình em viết liệu có đúng không ạ> Em cảm ơn

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Võ Nhật Tân đã bình luận 20:01 18-10-2018

Đúng rồi bạn nhưng góp ý với bạn một chút  vòng lặp chỉ cần chạy từ 1 đến a (hoặc đến b) thui không cần chạy đến a+b đâu

for (int i = 1; i <= a; i++)
    {
        if ((a%i == 0) && (b%i == 0)) c = i;
    }

K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 12:35 15-10-2018

ra kết quả là đúng bạn.

K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 17:33 14-10-2018

nếu đúng thì thử bộ test nào vào cũng chạy ra kết quả đúng bạn. đó là cách test tốt nhất

Câu hỏi mới nhất