问题及代码
/*作者;贾如杉
输入:输入两个数
输出:求最大公约数和最小公倍数*/
int gcd(int x,int y)
{
int t1,t2=1;
if(x<y)
{
t1=x;
x=y;
y=t1;
}
while(t2!=0)
{
t2=x%y;
x=y;
y=t2;
}
return x;
}
int lcm(int x,int y)
{
int t1,t2=1,s=0;
if(x<y)
{
t1=x;
x=y;
y=t1;
}
while(t2!=0)
{
s=s+x;
t2=s%y;
}
return s;
}
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;
}
运行结果
知识点总结
练习自定义函数的使用,提高解题能力
学习心得
结合以前所学的知识,解题速率有所提升