C++ 求两个数的最小公倍数的程序 5

 我来答
ytaofighting
2008-09-24
知道答主
回答量:29
采纳率:0%
帮助的人:20.4万
展开全部
#include"stdio.h"
main()
{
int a,b,c;
printf("请输入两个数:");
scanf("%d,%d",&a,&b);
c=(a>b)?a:b;
while(c%a!=0||c%b!=0)
c++;
printf("两个数的最小公倍数为:%d",c);
}
清影星河6A
2008-09-24 · TA获得超过851个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:898万
展开全部
// 先求最大公约数,再得最小公倍数

int gcd(int a, int b)// greatest common divisor,最大公约数
{
if ( a == 1 || b == 1)
{
return 1;
}
else
{
int d = max( a, b) % min( a, b);
if ( d == 0 )
{
return min( a, b);
}
else
{
return gcd( d, min( a, b));
}
}
}

int lcm( int a, int b)// lease common multiple,最小公倍数
{
if ( a<=0 || b<=0 )
{
printf("请输入正数!\n");
return 0;
}

int g = gcd( a, b);
return (a * b / g);
}
void main()
{
printf("%d\n", lcm(2, 13));
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skrot
2008-09-28
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
采用辗转相除法

#include <stdio.h>

void main()
{
int x,y,a,b;
printf("please input two num x,y : ");
scanf("%d,%d",&x,&y);
for(a=x<y?x:y,b=x>y?x:y;a>0;t=b,b=a,a=t%a)
if(b%a==0)
{
printf("%d,%d的最大公约数是 %d\n",x,y,a);
break;
}
printf("%d,%d的最小公倍数是 %d\n",x,y,x*y/a);
}

ytaofighting的对于大数字不适用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sniffer_xu
2008-09-24 · TA获得超过185个赞
知道答主
回答量:103
采纳率:0%
帮助的人:0
展开全部
main() /*主程序开始*/
{
int aa,bb,a,b,c,t;
printf(“请输入要求最大公约数和最小公倍数的两个整数:\n”);
scanf(“%d %d”,&a,&b);
aa=a;
bb=b;
if(a<b)
{
t=a;
a=b;
b=t;
}
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
printf(“这两个数的最大公约数为:%d\n”,b);
printf(“这两个数的最小公倍数为:%d\n”,aa*bb/b);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式