zcmu-1670

来源:互联网 发布:新海诚风格知乎 编辑:程序博客网 时间:2024/06/05 12:40

1670: 和费马开个玩笑

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 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

思路:直接硬搜,但是 要想到,爆搜是要超时,所以这里有一个跳出循环的条件,就是a,b不能超过1000,因为1000*1000*1000为10的9次,已经大于c的范围。


代码:

#include<cstdio>using namespace std;int main(){    int n,m;    int g=0;    while(~scanf("%d%d",&n,&m))    {        ++g;        int sum=0;        long long int sum1;        for(int i=n;i<=m&&i<=1000;i++)//跳出循环条件1000        {            for(int j=n;j<=m&&j<=1000;j++)            {                sum1=i*i*i+j*j*j;                if(sum1%10==3&&(sum1/10)>=n&&(sum1/10)<=m)                    sum++;            }        }        printf("Case %d: %d\n",g,sum);    }    return 0;}


原创粉丝点击