题目描述
鸡尾酒的数学很差,他学了很长时间的最大公约数,终于有一天他会求最大公约数了。
于是他迫不及待地向你提问——给定数轴上的区间 [l, r],你可以从中任选两个不相同的整数,求它们的最大公约数。
请问它们的最大公约数最大为多少?
输入
输入两个正整数 l,r ,意义如题面所示。
输出
输出一行一个正整数表示答案。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int l, r;
cin >> l >> r;
for (int i = r; i >= 1; i--)
{
int ll = ceil(1.0 * l / i) *i;
int rr = floor(1.0 * r / i)*i ;
if (ll<r&&ll!=rr)
{
cout << i;
break;
}
}
}
同学的思路,拿来保存一下