csu1337 搞笑版費馬大定理
阿新 • • 發佈:2018-12-31
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\n",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\n",cnt++,sum);
}
}
return 0;
}