CodeForces 664A Complicated GCD

本文介绍了如何求解从a到b范围内所有整数的最大公约数(GCD)。通过阐述辗转相除法及其数学原理,解释了当a和b非常大(如达到10^100)时的解决方案。此外,还提供了特殊情况下的解决策略。
 
A. Complicated GCD
time limit per test:1 second
memory limit per test256 megabytes:
input:standard input
output:standard output

Greatest common divisor GCD(a, b) of two positive integers a and b is equal to the biggest integer d such that both integers a and b are divisible by d. There are many efficient algorithms to find greatest common divisor GCD(a, b), for example, Euclid algorithm.

Formally, find the biggest integer d, such that all integers a, a + 1, a + 2, ..., b are divisible by d. To make the problem even more complicated we allow a and b to be up to googol, 10100 — such number do not fit even in 64-bit integer type!

Input

The only line of the input contains two integers a and b (1 ≤ a ≤ b ≤ 10100).

Output

Output one integer — greatest common divisor of all integers from a to b inclusive.

Examples
Input
1 2
Output
1
Input
61803398874989484820458683436563811772030917980576 61803398874989484820458683436563811772030917980576
Output
61803398874989484820458683436563811772030917980576


在数论中,如果两个或两个以上的整数的最大公约数是1,则称它们为互质。
性质:相邻两个自然数互质。即,GCD(a,a+1)=1,用辗转相除法可以算出。也可以用定理证明,定理:如果存在整数x1, ... ,xk,使得 a1x1 + ... + akxk = 1,则 a1,...,ak 是即约的。
因此只需要判读输入的两个数是否相,若相等输出这个数,否则输出1。

转载于:https://www.cnblogs.com/cumulonimbus/p/5777906.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值