解题思路:
1、辗转相除法求最大公约数,使用循环结构对两个数取余,直到余数为0时,被除数就是最大公约数。
2、只要将两个数相乘再除以他们的最大公约数结果就是他们的最小公倍数。
注意事项:
先将x,y赋值给x1,y1,用于计算最小公倍数。x,y保留数值用于计算最大公约数。
参考代码:
#include<stdio.h>
int main()
{
int x,y,x1,y1,u,n;//x,y为输入的数,x1,y1,用于第一次计算。u为余数,n为最小公倍数。
scanf("%d %d",&x,&y);
x1=x;
y1=y;//保留原数值用于第二次计算。
do
{
u=x1%y1;
if(u!=0)
{
x1=y1;
y1=u;
}//辗转相除法,并判断是否继续运算。若u=0就不在赋值给y1
}while(u>0);
n=x*y/y1;//求出最小公倍数。
printf("%d %d\n",y1,n);
return 0;
}
0.0分
0 人评分
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:804 |
矩阵乘法 (C++代码)浏览:1454 |
printf基础练习2 (C语言代码)浏览:741 |
矩阵乘方 (C语言代码)浏览:1022 |
sizeof的大作用 (C语言代码)浏览:1024 |
震宇大神的杀毒软件 (C语言代码)浏览:1079 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:740 |
数列排序 (C语言代码)浏览:606 |
小O的乘积 (C++代码)浏览:747 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:713 |