采用穷举法,使用for语句编写一程序求两个整数的最大公约数和最小公倍数

来源:百度知道 编辑:UC知道 时间:2024/05/21 18:40:32
如题
用C语言

#include<stdio.h>
main(){
int a,b,n,m;
printf("input two number.\n");
scanf("%d %d",&a,&b);
for(n=(a+b)/2;n>0;n--){
if((a%n==0)&&(b%n==0)) break;
}
m=a*b/n;
printf("%d\n%d\n",n,m);
}
运行的时候从键盘输入两个整数,输出的数第一个是最大公约数,第二个数是
最小公倍数。考虑到最大公约数与最小公倍数之积等于原来两数之积,可以简化计算。

给你说说思路吧,太晚了。
用穷举法,先说最大公约数。
首先要用for循环
for(int i=两数的最小的数;i>=2;i--)
{
然后判断 如果两个数都能整除的话(除以循环变量i)
那么返回这个循环变量,就是最大公约数
}
如果循环到最后都没有符合这个条件的,那么返回的就是1了

////////////////////////////////////////////////////
说说最小公倍数
也是一样的
for(int i =两数的最大的数;i<=两数之积;i++)
{
if(i除以两数都可以整除)返回i
}
完事了~