两仪剑法(最小公倍数)
两仪剑法是武当派武功的高级功夫,且必须 2个人配合使用威力才大。同时该剑法招数变化太快、太多。设武当弟子甲招数变化周期为 n,武当弟子乙招数变化周期为 m,两弟子同时使用该剑法,当 2人恰好同时达到招数变化周期结束时,威力最大,此时能将邪教妖人置于死地。请你计算威力最大时,每人用了多少招?
输入格式
首先输入一个t(t<100000) 表示测试组数。
接下来 t组输入,每组输入 2 个数n,m(1≤n,m≤1000000000)。
输出格式
对于每组输出,输出用了多少招数。
样例输入
3 2 3 8 9 4 8
样例输出
6 72 8
package 计蒜客; import java.util.Scanner; public class 两仪剑法 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int n=scan.nextInt(); long[][] nums=new long[n][2]; long[] arr=new long[n]; for(int i=0;i<n;i++){ nums[i][0]=scan.nextInt(); nums[i][1]=scan.nextInt(); } for(int i=0;i<n;i++){ arr[i]=fun(nums[i][0],nums[i][1]); } for(long l:arr){ System.out.println(l); } } //fun函数求出最小公倍数 public static long fun(long num1,long nums2){ return (num1*nums2)/gcd(num1,nums2); } //gcd函数求出两个数的最大公约数 public static long gcd(long num1,long num2){ if(num2==0){ return num1; } return gcd(num2,num1%num2); } }