最大公约数和最小公倍数

来源:互联网 发布:nodejs nginx 部署 编辑:程序博客网 时间:2024/06/05 18:33

循环-14. 最大公约数和最小公倍数(15)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
张彤彧(浙江大学)

本题要求两个给定正整数的最大公约数和最小公倍数。

输入格式:

输入在一行中给出2个正整数M和N(<=1000)。

输出格式:

在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例:
511 292
输出样例:
73 2044
我的想法是最小公倍数一定是小于或等于两个数的乘积的,最大公约数就从任意一个数开始,逐级递减得到;
#include<stdio.h>int main(){int m,n;scanf("%d%d",&m,&n);int a,b,i,j;a=m*n;for(i=n;i<=a;i++){if(i%n==0&&i%m==0){a=i;break;}}for(j=m;j>0;j--){if(m%j==0&&n%j==0){b=j;break;}}printf("%d %d\n",b,a);return 0;}


0 0