链接
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2874
题解
这题能做?(╯‵□′)╯︵┻━┻
推一下午推不出来查题解之后竟然是找规律???
行吧其实我也打表了,只是看不出规律…
(1,1) => 2
(1,2) => 3
(1,3) => 4
(1,4) => 5
(2,1) => 3
(2,2) => 2
(2,3) => 5
(2,4) => 3
(3,1) => 4
(3,2) => 5
(3,3) => 2
(3,4) => 7
(4,1) => 5
(4,2) => 3
(4,3) => 7
(4,4) => 2
规律是 ( a + b ) g c d ( a , b ) \frac{(a+b)}{gcd(a,b)} gcd(a,b)(a+b)
这题能做?(╯‵□′)╯︵┻━┻
代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, m;
ll read(ll x=0)
{
ll c, f=1;
for(c=getchar();!isdigit(c);c=getchar())if(c=='-')f=-f;
for(;isdigit(c);c=getchar())x=x*10+c-48;
return f*x;
}
ll gcd(ll a, ll b){return !b?a:gcd(b,a%b);}
int main()
{
ll T=read(), a, b, kase=0;
while(T--)
{
a=read(), b=read();
printf("Case %lld: %lld\n",++kase,(a+b)/gcd(a,b));
}
return 0;
}