*\
烟台大学计算机与控制工程学院
All rights reserved.
作者:汪莹莉
完成日期:2016年11月14日
题目描述
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
输入
两个数
输出
最大公约数 最小公倍数
样例输入
6 15
样例输出
3 30
提示
主函数已给定如下,提交时不需要包含下述主函数
/* C代码 */
int main()
{
int n,m,gys,gbs;
int gcd(int a, int b);
int lcm(int a, int b);
scanf("%d%d",&n,&m);
gys=gcd(n,m);
gbs=lcm(n,m);
printf("%d %d\n",gys,gbs);
return 0;
}
/* C++代码 */
int main()
{
int n,m,gys,gbs;
int gcd(int a, int b);
int lcm(int a, int b);
cin>>n>>m;
gys=gcd(n,m);
gbs=lcm(n,m);
cout<<gys<<" "<<gbs<<endl;
return 0;
}
程序:
#include <stdio.h>
int main()
{
int n,m,gys,gbs;
int gcd(int a, int b);
int lcm(int a, int b);
scanf("%d%d",&n,&m);
gys=gcd(n,m);
gbs=lcm(n,m);
printf("%d %d\n",gys,gbs);
return 0;
}
int gcd(int x,int y)
{
int r;
while(y>0)
{
r=x%y;
x=y;
y=r;
}
return x;
}
int lcm(int x,int y)
{
return ((x*y)/gcd(x,y));
}
运行结果;
知识点总结:借用辗转相除法求最大公约数的方法,最小公倍数为两数之积除以最大公约数。
学习心得:最小公倍数与最大公约数的乘积为两数的乘积,即(a,b)[a,b]=ab;//(a,b)为最大公约数,[a,b]为最小公倍数