http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1337
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
Hint
Source
湖南省第九届大学生计算机程序设计竞赛
没认真读题,我以为是a^3+b^3=c,x<=c<=y;
认真读题后,发现是a^3+b^3=c3,x<=c<=y;
因为y<=10^8,所以到1000即可,
且(a^3+b^3)%10==3&&(a^3+b^3)/10>=x&&(a^3+b^3)<=y
//没认真读题,我以为是a^3+b^3=c,x<=c<=y;
//认真读题后,发现是a^3+b^3=c3,x<=c<=y;
//因为y<=10^8,所以到1000即可,
//且(a^3+b^3)%10==3&&(a^3+b^3)/10>=x&&(a^3+b^3)<=y
#include<stdio.h>
int main()
{
int x,y;
int cnt=1;
while(~scanf("%d%d",&x,&y))
{
int sum=0;
if(x>1000)
printf("Case %d: 0
",cnt++);
else
{
for(int i=x; i<1000; i++)
for(int j=x; j<1000; j++)
{
int p=i*i*i+j*j*j;
if(p%10==3&&p/10>=x&&p/10<=y)
sum++;
}
printf("Case %d: %d
",cnt++,sum);
}
}
return 0;
}