搞笑版费马大定理
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 190 Solved: 93
[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 10 1 20 123 456789
Sample Output
Case 1: 0 Case 2: 2 Case 3: 16
HINT
Source
枚举。。。
。主要是把范围卡出来。不然超时
AC代码例如以下:
#include<iostream> #include<cmath> #include<cstring> #include<stdio.h> using namespace std; int main() { int x,y; int a,b,c; int i,j; int cas=1; int l,ans,sum,bj; while(~scanf("%d%d",&x,&y)) { sum=0;bj=0; for(i=x;i*i*i<=y*10;i++) { for(j=i;j*j*j<=y*10;j++) { ans=i*i*i+j*j*j; if(ans%10==3&&ans/10>=x&&ans/10<=y) { sum+=2; //cout<<i<<" "<<j<<endl; if(i==j) sum--; } if(2*i*i*i/10>y) {break;bj=1;} } if(bj) break; } cout<<"Case "<<cas++<<":"<<" "; cout<<sum<<endl; } return 0; }