#1688: 幫忙看程式碼


asas (向諸神與地雷醬獻上祈禱)


#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也不行?

#1691: Re:幫忙看程式碼


btf21 (嘿嘿嘿)


#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也不行?

unsigned long long 請用%llu 輸出
#1697: Re:幫忙看程式碼


bleed1979 (Bleed)


#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 才夠