#1688: 幫忙看程式碼


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

學校 : 不指定學校
編號 : 5185
來源 : [36.228.104.72]
最後登入時間 :
2024-03-06 23:29:54
d205. 幼稚的基礎數論 -- 感謝鋼琴提供靈感 | From: [122.126.64.63] | 發表日期 : 2009-04-01 19:49

#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 (嘿嘿嘿)

學校 : 臺北市立建國高級中學
編號 : 2132
來源 : [140.112.25.66]
最後登入時間 :
2013-03-26 17:01:48
d205. 幼稚的基礎數論 -- 感謝鋼琴提供靈感 | From: [140.122.46.26] | 發表日期 : 2009-04-01 21:08

#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)

學校 : 不指定學校
編號 : 1489
來源 : [203.204.21.29]
最後登入時間 :
2021-05-02 22:12:13
d205. 幼稚的基礎數論 -- 感謝鋼琴提供靈感 | From: [118.168.132.166] | 發表日期 : 2009-04-02 06:26

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

 

 
ZeroJudge Forum