我編寫了一個codechef程序和它的錯誤(雖然所有的測試都是正面的)。代碼是:LCM和GCD不能正常工作
#include <iostream>
using namespace std;
int g (int a,int b){
return b == 0 ? a : g(b, a % b);
}
int l (int a, int b){
return (a*b)/(g(a,b));
}
int main() {
int n;
cin >> n;
int a[n],b[n];
for (int x = 0;x<n;x++){
cin >> a[x] >> b[x];
}
for (int x = 0;x<n;x++){
cout << g(a[x],b[x]) << " "<< l(a[x],b[x]) << endl;
}
return 0;
}
Codechef不會告訴我什麼整數不工作,我敢肯定我的gcd功能是合法的。
你有沒有考慮過'a'和/或'b'接近INT_MAX會發生什麼? – Frank
你的意思是「它的錯誤顯然(儘管所有的測試都是正面的)」?爲什麼它錯了?哪些測試「積極」?請提供有關您遇到的具體問題的更多詳細信息。 –
@Frank該問題的參數在int max下。 – Jayylmao