搞笑版费马大定理 (湖南省第九届大学生计算机程序设计竞赛)

1337: 搞笑版费马大定理

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 402  Solved: 193

[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

其实是一道水题,开始也想了很久没什么思路,感觉就那么做会超时,没有明白题目的深一层的含义, 其实给我们的数据范围就是一个突破口;

虽然x和y的范围都是10^8,但是如果a 是大于1000的话,那么a^3就会大于10^9,这样等号的右边只有一个10 * c + 3,这个最大只能达到10^9数量级,所以,不管输入的x跟y是多少,我们只要取其中的在1到1000的区间就可以了,枚举a和b,那么c就可以得到,然后判断c的范围是不是在x到y之间,这样时间复杂度就降到了10^6.

有了上面的分析,这道题就很简单啦;直接暴力,两个循环就搞定了;

#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
    int x,y,a,b,c,count,k=0;
    while(scanf("%d%d",&x,&y)!=EOF)
    {
        count=0;
         for(a=x;a<=1000&&a<=y;a++)
            for(b=x;b<=1000&&b<=y;b++)
         {
             int s=a*a*a+b*b*b;
             if(s%10!=3) continue;
              c=s/10;
              if(c>=x&&c<=y) count++;
         }
          printf("Case %d: %d\n", ++k, count);
    }
    return 0;
}

别人0ms的代码;

#include<stdio.h>

int main()
{
    //freopen("a.txt","r",stdin);
    long long x,y,i,j,t;
    int a=0;
    while(scanf("%lld%lld",&x,&y)!=EOF)
    {
        t=x*x*x;
        a++;
        y=y*10+3;
        int cnt=0;
        for(i=x,j=1;t+i*i*i<=y;i++,j++);
        long long ii=i,jj=j;
        //printf("%lld %lld\n",i,j);
        for(i=x;i<=ii;i++)
        {
            int k=(13-i*i*i%10)%10;
            if(k!=0 && k!=1 && k!=4 && k!=5 && k!=6 && k!=9) k=10-k;
            for(j=x-x%10+k;j<ii;j+=10)
            {
                if(j<x) j+=10;
                if(j*j*j+i*i*i<=y)   cnt++; //printf("%lld %lld\n",i,j);
            }
        }
        printf("Case %d: %d\n",a,cnt);
    }
    return 0;
}

1337: 搞笑版费马大定理

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 402  Solved: 193

[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

时间: 2024-08-27 01:44:34

搞笑版费马大定理 (湖南省第九届大学生计算机程序设计竞赛)的相关文章

CSU 1337: 搞笑版费马大定理(数学啊 湖南省第九届大学生计算机程序设计竞赛)

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=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组数据.每组数据包含两个

湖南省第九届大学生计算机程序设计竞赛 搞笑版费马大定理

搞笑版费马大定理 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 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,

CSU 1330: 字符识别?(字符串模拟啊 湖南省第九届大学生计算机程序设计竞赛)

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1330 Description 你的任务是写一个程序进行字符识别.别担心,你只需要识别1, 2, 3,如下: .*.  ***  *** .*.  ..*  ..* .*.  ***  *** .*.  *..  ..* .*.  ***  *** Input 输入仅包含一组数据,由6行组成.第一行为字符的个数n(1<=n<=10).以下5行每行包含4n个字符.每个字符恰好占5行3列,

CSU 1336: Interesting Calculator(BFS啊 湖南省第九届大学生计算机程序设计竞赛)

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1336 1336: Interesting Calculator Description There is an interesting calculator. It has 3 rows of buttons. Row 1: button 0, 1, 2, 3, ..., 9. Pressing each button appends that digit to the end of

CSU 1334: 好老师(数学啊 湖南省第九届大学生计算机程序设计竞赛)

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1334 Description 我想当一个好老师,所以我决定记住所有学生的名字.可是不久以后我就放弃了,因为学生太多了,根本记不住.但是我不能让我的学生发现这一点,否则会很没面子.所以每次要叫学生的名字时,我会引用离他最近的,我认得的学生.比如有10个学生: A ? ? D ? ? ? H ? ? 想叫每个学生时,具体的叫法是: 位置 叫法 1 A 2 right of A (A右边的同

CSU 1339: 最后一滴血(模拟啊 湖南省第九届大学生计算机程序设计竞赛)

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1339 Description 在ACM/ICPC这样的程序设计竞赛中,最早解出一道题称为抢到FB(First Blood,第一滴血).现在ACM/ICPC世界总决赛甚至为每道题的FB设立了特别奖. 也许我们还可以设一个LB(Last Blood,最后一滴血)奖,奖给最后一个解出某题的队伍.注意:你不能先提交程序,得到Yes之后等比赛快结束时把它再交一遍,因为一旦一只队伍解出了某题,它对

湖南省第九届大学生计算机程序设计竞赛 字符识别?

字符识别? Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 156  Solved: 98 [Submit][Status][Web Board] Description 你的任务是写一个程序进行字符识别.别担心,你只需要识别1, 2, 3,如下: .*.  ***  *** .*.  ..*  ..* .*.  ***  *** .*.  *..  ..* .*.  ***  *** Input 输入仅包含一组数据,由6行组成.第一行为字符的个数

湖南省第九届大学生计算机程序设计竞赛

好老师 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 108  Solved: 52 [Submit][Status][Web Board] Description 我想当一个好老师,所以我决定记住所有学生的名字.可是不久以后我就放弃了,因为学生太多了,根本记不住.但是我不能让我的学生发现这一点,否则会很没面子.所以每次要叫学生的名字时,我会引用离他最近的,我认得的学生.比如有10个学生: A ? ? D ? ? ? H ? ? 想叫每个学生时,

湖南省第九届大学生计算机程序设计竞赛 高桥和低桥

高桥和低桥 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 358  Solved: 60 Description 有个脑筋急转弯是这样的:有距离很近的一高一低两座桥,两次洪水之后高桥被淹了两次,低桥却只被淹了一次,为什么?答案是:因为低桥太低了,第一次洪水退去之后水位依然在低桥之上,所以不算"淹了两次".举例说明: 假定高桥和低桥的高度分别是5和2,初始水位为1 第一次洪水:水位提高到6(两个桥都被淹),退到2(高桥不再被淹,但低桥仍然