首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

:输入两个正整数m和n,求其最大公约数和最小公倍数。该如何处理

2012-04-06 
:输入两个正整数m和n,求其最大公约数和最小公倍数。要求用C语言写,还有最好有注释,新手请大家帮帮忙,谢谢各

:输入两个正整数m和n,求其最大公约数和最小公倍数。
要求用C语言写,还有最好有注释,新手请大家帮帮忙,谢谢各位

[解决办法]
#include<stdio.h>
void main()
{
int max_(int a,int b); //调用最大公约数函数的声明
int min_(int a,int b); //调用最小公倍数的函数声明
int m,n,max,min;
printf("请输入两个数");
scanf("%d%d",&m,&n);
max=max_(m,n); //调用最大公约数
printf("%d和%d的最大公约数是%d\n",m,n,max);
min=min_(m,n); //调用最小公倍数
printf("%d和%d的最小公倍数是%d\n",m,n,min);
}
int max_(int a,int b)
{
int t;
t=a>b?b:a;//从两个数中较小的开始
while(a%t!=0||b%t!=0)//倘若该数不能被a、b两数同时整除
t--;//该数自减,直到找到一个数能被a、b同时整除为止
return(t);//将该数作为返回值
}
int min_(int a,int b)//最小公倍数的思想其实和最大公约数的思想是类似的,楼主自己看吧~~~
{
int t;
t=a>b?a:b;
while(t%a!=0||t%b!=0)
t++;
return(t);
}

热点排行