Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
#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
Đú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;
}
ra kết quả là đúng bạn.
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