最大输入hdu 2534 规律水题 求任意个a,b的和 不能表示的最大的数

每日一贴,今天的内容关键字为最大输入

    

Score

    Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 749    Accepted Submission(s): 322

    

Problem Description

    

大家都晓得,pfz是“成电杰出先生”,在成电杰出先生的颁奖典礼上,lxh和pfz都没有听台上在说什么,而是在下面探讨当晚的美式足球竞赛,lxh预测说纽约巨人队今晚将会失掉11分,pfz马上说不可能。因为通常来讲美式足球竞赛的得分只有3分和7分两种情势,无论怎么得分都不可能失掉11分。想了一会以后,lxh发现其实11分以上的分数都是可以失掉,于是11就是最大的不可以失掉的分数。现在问题来了,如果竞赛的得分只有x分和y分两种情势,那么最大的不可以失掉的分数是多少呢?
最大和输入

    

 

    

Input

    

本题包括多组输入
每组输入2个整数x, y(2<=x, y<=10^8),x=y=0表示输入结束

    

 

    

Output

    

对于每组输入,输出一行,若存在一个最大的不可以失掉的分数,则输出此分数,否则输出Inf

    

 

    

Sample Input
3 7 2 2 0 0
 

    

Sample Output
    每日一道理
书,各种各样的书。书,寄托着人类热切的希望;书,蕴含着人类丰富的感悟。提起书,会有说不完的话语……
11 Inf
 

    

Source

    

    

 

    

Recommend

    

lcy

    

思绪   输入a b 

    

则ax2+by2-ax1-by1=1   即 a(x2-x1)-b(y2-y11)=1   因此 如果a b最大公约数不为1 则找不到  输出INF  其实找几组数据 也可以看出这个法则

    

然后写几组法则 可以发现不能表示的最大的数为a*b-a-b

    

 

    

注意 2 3  结果是1    

    

 
#include<cstdio>
__int64 gcd(__int64 a, __int64 b)
{
    if (b == 0) return a;
    gcd(b, a%b);
}

int main(void)
{
    __int64 a;
    __int64 b;
    while (scanf("%I64d%I64d", &a, &b), (a||b))
    {
        if (gcd(a, b) == 1)
        {
            printf("%I64d\n", a*b-a-b);
        }
        else
        {
            printf("Inf\n");
        }
    }
    return 0;
}

文章结束给大家分享下程序员的一些笑话语录: 与女友分手两月有余,精神萎靡,面带菜色。家人介绍一女孩,昨日与其相亲。女孩果然漂亮,一向吝啬的我决定破例请她吃晚饭。
选了一个蛮贵的西餐厅,点了比较贵的菜。女孩眉开眼笑,与我谈得很投机。聊着聊着,她说:“我给你讲个笑话吧。”“ok”
  “一只螳螂要给一只雌蝴蝶介绍对象,见面时发现对方是只雄蜘蛛。见面后螳螂问蝴蝶‘如何?’,‘他长的太难看了’,‘别看人家长的丑,人家还有网站呢’。”
  “呵呵………”我笑。忽然她问:“你有网站吗?”  

--------------------------------- 原创文章 By
最大和输入
---------------------------------

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3111268.html