您的位置:首页 > 编程语言 > C语言/C++

【1131】C/C++经典程序训练1---最大公约数与最小公倍数

2014-08-03 14:51 363 查看



C/C++经典程序训练1---最大公约数与最小公倍数




Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^


题目描述

输入两个整数,求它们的最大公约数与最小公倍数。

输入

输入两个整数,两个整数之间用空格分开。

输出

第一行输出最大公约数;

第二行输出最小公倍数。

示例输入

64
48


示例输出

16
192


此题虽然简单,但是要掌握应用的辗转相除法
#include <stdio.h>

int main()

{

int a,b,t,r,a1,b1,z;

scanf("%d %d",&a,&b);//输入两个数

if(a>b)

{

t=a;

a=b;

b=t;

}//为两个数由小到大排序

a1=a;

b1=b;

r=b%a;//r为b除以a的余数

while(r!=0)

{

b=a;

a=r;

r=b%a;

}//辗转相除法求最大公约数

printf("%d\n",a);

z=a1*b1;

printf("%d\n",z/a);//两个数的最小公倍数 为它们的乘积 除以 它们的最大公约数

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: