【蓝桥杯】两仪剑法

题目

两仪剑法是武当派武功的高级功夫,且必须 2 2 个人配合使用威力才大。同时该剑法招数变化太快、太多。设武当弟子甲招数变化周期为 n n ,武当弟子乙招数变化周期为 m m ,两弟子同时使用该剑法,当 2 2 人恰好同时达到招数变化周期结束时,威力最大,此时能将邪教妖人置于死地。

请你计算威力最大时,每人用了多少招?

输入格式

首先输入一个 t ( t < 100000 ) t(t < 100000) 表示测试组数。

接下来 t t 组输入,每组输入 2 2 个数 n , m ( 1 n , m 1000000000 ) n,m(1 \le n,m \le 1000000000)

输出格式

对于每组输出,输出用了多少招数。

样例输入

3

2 3

8 9

4 8

样例输出

6

72

8

题解

题目所求是最小公倍数,n m 的最小公倍数又可由 nm最大公因数 求得,最大公因数可以用碾除法
另外需要注意的是变量的范围

#include<iostream>
using namespace std;
// 最大公约数 
long long int gcd(long long int a,long long int b){
	return (!b)?a:gcd(b,a%b);
}
int main(){
	int t;
	long long int n,m;
	cin>>t;
	while(t--){
		cin>>n>>m;
		cout<<n*m/gcd(n,m)<<endl;
	} 
	return 0;
}

猜你喜欢

转载自blog.csdn.net/liyuanyue2017/article/details/86654348