码迷,mamicode.com
首页 > 其他好文 > 详细

[CF664A]Complicated GCD(数论)

时间:2019-06-07 00:55:27      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:ring   题解   最大   个数   code   href   lse   ati   ems   

题目链接

http://codeforces.com/problemset/problem/664/A

题意

给两个数,找出它们的最大公因子d,使得从a到b之间的数都可以整除d.

题解

结论:
当gcd(a, b) = 1,则gcd(a + b, a) = 1
反证法:
假设gcd(a + b, b) = k != 1;
则: b = k * r1
a + b =a +? k * r1 = k * R
两边同时除以k
a / k + r1 = R
则要使相等,则a 必须整除k, 则 a = k * r2;
所以gcd(a, b) = k != 1 与gcd(a, b) = 1矛盾
故假设不成立。

另一种证明思路:
gcd(1,a)=1, gcd(a,a)=a, gcd(a,a+1)=gcd(a,1)=1. ?

代码

import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        Scanner in=new Scanner(System.in);
        String a=in.next();
        String b=in.next();
        if(a==b) {
            System.out.print(a);
        }
        else {
            System.out.print("1");
        }
    }
}

[CF664A]Complicated GCD(数论)

标签:ring   题解   最大   个数   code   href   lse   ati   ems   

原文地址:https://www.cnblogs.com/coding-gaga/p/10987349.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!