2013年湖南省第9回プログラム設計大会Jお笑い版費馬大定理
1734 ワード
1337:お笑い版費馬大定理
Time Limit: 1 Sec
Memory Limit: 128 MB
Submit: 149
Solved: 74
[ Submit][ Status][ Web Board]
Description
フェルマ大定理:n>2の場合,不定方程式an+bn=cnには正の整数解はない.例えばa 3+b 3=c 3には正の整数解がない.雰囲気を盛り上げるために、方程式をa 3+b 3=c 3に変更すると、a=4、b=9、c=79時43+93=793などの解が得られます.
2つの整数x,yを入力し,x<=a,b,c<=yを満たす整数解の個数を求める.
Input
最大10組のデータを入力します.各セットのデータは、2つの整数x,y(1<=x,y<=108)を含む.
Output
データのセットごとに、解の個数を出力します.
Sample Input
Sample Output
Time Limit: 1 Sec
Memory Limit: 128 MB
Submit: 149
Solved: 74
[ Submit][ Status][ Web Board]
Description
フェルマ大定理:n>2の場合,不定方程式an+bn=cnには正の整数解はない.例えばa 3+b 3=c 3には正の整数解がない.雰囲気を盛り上げるために、方程式をa 3+b 3=c 3に変更すると、a=4、b=9、c=79時43+93=793などの解が得られます.
2つの整数x,yを入力し,x<=a,b,c<=yを満たす整数解の個数を求める.
Input
最大10組のデータを入力します.各セットのデータは、2つの整数x,y(1<=x,y<=108)を含む.
Output
データのセットごとに、解の個数を出力します.
Sample Input
1 101 20123 456789
Sample Output
Case 1: 0
Case 2: 2
Case 3: 16
方法因为x<= a,b,c<=y; 而 x,y<=10^8所以c*10<= 10^9, 即a,b<= 10^3所以把X-10^3 所有的a,b组合枚举一次即可
PS: 靠,这道大水题啊, 训练赛的时候我居然都没看
代码:
#include
#include int main() { int x; int y; int T= 0; while(scanf("%d %d",&x,&y)!=EOF) { T++; printf("Case %d: ",T); if(x> 1001) { printf("0
"); continue; } int max= 1001; max= max> y? y: max; int ans= 0; for(int i= x; i<= max; i++) for(int j= x;j<= max; j++) { int num= i*i*i + j*j*j; if(num%10 == 3) { num/= 10; if(num>= x && num<= y) ans++; } } printf("%d
", ans); } return 0; }