1670: 和費馬開個玩笑
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 50 Solved: 37
[Submit][Status][Web Board]
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 101 20123 456789
Sample Output
Case 1: 0Case 2: 2Case 3: 16
HINT
Source
水題,第一思路直接算,一看範圍十的八次穩超時,然後我們發現x<=c<=y;所以(c*10+3)開三次根號小於一千所以只要1-1000就好,直接硬算
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
int main()
{
int n,m,q,x,y,t=1,k,flag,f,ans,sum;
while(~scanf("%d %d",&x,&y))
{
ans=0;
for(int i=x;i<=1000;i++){
for(int j=x;j<=1000;j++){
sum=i*i*i+j*j*j;
if(sum%10!=3)continue;
if(sum/10>=x&&sum/10<=y){
ans++;
}
}
}
printf("Case %d: %d\n",t++,ans);
}
return 0;
}