编写一个程序,输入两个正整数,输出它的最大公约数(使用辗转相除法),输出它们的最小公倍数。要C++的

 我来答
kaixingui2012
2013-03-14 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6505万
展开全部
#include <stdio.h>
unsigned int gcd ( unsigned int a,unsigned int b)
{
unsigned int max,min ;
max=a;
min=b;
do {
if ( max < min )
{
int temp=max ;
max=min;
min=temp ;
}
max -= min ;
} while( max != min ) ;
return min ;
}
int main( void )
{
unsigned int m,n,mu;
printf("请输入两个正整数:");
scanf("%u%u",&m,&n);
while ( m==0 || n==0 )
{
printf("输入错误,不能输入0\n");
scanf("%u%u",&m,&n);
}
mu=gcd ( m,n ) ;
printf("%u与%u的最大公约数为:%u\n",m,n,mu );
printf("%u与%u的最小公倍数为:%u\n",m,n,m/mu*n );
return 0;
}
苦苦的守望者
2013-03-15 · TA获得超过111个赞
知道答主
回答量:32
采纳率:0%
帮助的人:22.9万
展开全部
#include<stdio.h>
main()
{
int b,m,n,j,k,result;
printf("Enter two number:");
scanf("%d,%d",&m,&n);
b=m*n;
if(m>0&&n>0)
{
do
{
k=m%n;
if(k==0)
result=n;
else
{m=n;
n=k;}
}
while(k>0);
j=b/result;
}
printf("最大公约数=%d,最小公倍数=%d",result,j);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式