csu1337 搞笑版费马大定理

来源:互联网 发布:华中科技大学网络大专 编辑:程序博客网 时间:2024/06/01 14:04

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;}
0 0
原创粉丝点击