最大公约数与最小公倍数
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
输入两个正整数,求它们的最大公约数与最小公倍数。
Input
输入两个正整数,两个整数之间用空格分开。
数据保证在 int 范围内。
Output
第一行输出最大公约数;
第二行输出最小公倍数。
答案保证在 int 范围内。
Sample Input
64 48
Sample Output
16
192
求最大公约数用辗转相除法:
输入两个数m,n;
如果m<n,那就交换两者;
然后求m,n的余数c=m%n;
如果余数为0,那么最大公约数就是n;
如果余数不为0,那么就将n赋给m,将余数赋给n,接着上面的操作,直到余数为0为止。
然后最大公约数就是余数m
由于p=m*n=最大公约数乘以最小公倍数
所以最小公倍数=p/m.
代码
#