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
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; }