#include <iostream>
long long int f(unsigned long long a, unsigned long long b){
unsigned long long t;
while (a%b)
{
t = b;;
b = a%b;
a = t;
}
return b;
}
using namespace std;
int main(){
unsigned long long a,b;
while (cin>>a>>b)
cout<<f(a,b)*f(a,b)<<endl;
}
為什麼不行?要把long long int改為unsigned long long才會AC。
另外 cin>>a>>b 用 ~scanf("%lld%lld",&a,&b) or scanf("%lld%lld",&a,&b) > 0也不行?
#include
long long int f(unsigned long long a, unsigned long long b){
unsigned long long t;
while (a%b)
{
t = b;;
b = a%b;
a = t;
}
return b;
}
using namespace std;
int main(){
unsigned long long a,b;
while (cin>>a>>b)
cout<<
}
為什麼不行?要把long long int改為unsigned long long才會AC。
另外 cin>>a>>b 用 ~scanf("%lld%lld",&a,&b) or scanf("%lld%lld",&a,&b) > 0也不行?
#include
long long int f(unsigned long long a, unsigned long long b){
unsigned long long t;
while (a%b)
{
t = b;;
b = a%b;
a = t;
}
return b;
}
using namespace std;
int main(){
unsigned long long a,b;
while (cin>>a>>b)
cout<<
}
為什麼不行?要把long long int改為unsigned long long才會AC。
另外 cin>>a>>b 用 ~scanf("%lld%lld",&a,&b) or scanf("%lld%lld",&a,&b) > 0也不行?
long int -> -2^31 ~ 2^31 - 1
unsigned long int -> 0 ~ 2^32
這題是要平方 0 ~ 2^64
所以long long int 還不夠
要unsigned long long int 才夠