Description
费马大定理:当n>2时,不定方程an+bn=cn没有整数解。比如a3+b3=c3没有正整数解。我们来给他开个玩笑:把方程改成a3+b3=c3,这样就有解了,比如a=4, b=9, c=79时43+93=793。
输入两个整数x, y, 求满足x<=a,b,c<=y的整数解的个数。
Input
输入最多包含10组数据。每组数据包含两个整数x, y(1<=x,y<=108)。
Output
对于每组数据,输出解的个数。
Sample Input
1 10 1 20 123 456789
Sample Output
Case 1: 0
Case 2: 2
Case 3: 16
题目比较简单吧,直接用暴力法一一枚举就行了。但前面一直超时,主要还是用了3层循环,其实只要2层循环就ok了的,第二次犯这个错误了,得长记性了。
#include <stdio.h>
int main(){
int x,y,num=0;
while(scanf("%d %d",&x,&y)!=EOF)
{
int i,j,k,count=0;
long long l,m,n;
for(i=x;i*i*i<=y*10+3;i++){
for(j=i;j*j*j<=y*10+3;j++){
l=i*i*i;
m=j*j*j;
if((l+m)%10==3&&(l+m-3)/10>=x&&(l+m-3)/10<=y)
count++;
}
}
num++;
printf("Case %d: %d\n",num,count*2);
}
return 0;
}