各位高手,本人遇到一个问题,问题如下:编一个程序,随即输入两个整数,输出最大公约数与最小公倍数

[复制链接]
查看11 | 回复6 | 2011-11-4 05:47:45 | 显示全部楼层 |阅读模式
#includeiostream
usingnamespacestd;
intgcd(intn,intm){
returnm?gcd(m,n%m):n;//啥叫真正的效率!
}
intmain()
{
inta,b,c;
cinab;
c=gcd(a,b);
coutc\'\'a*b/cendl;
}
回复

使用道具 举报

千问 | 2011-11-4 05:47:45 | 显示全部楼层

回复

使用道具 举报

千问 | 2011-11-4 05:47:45 | 显示全部楼层

回复

使用道具 举报

千问 | 2011-11-4 05:47:45 | 显示全部楼层
inta,b,i;
scanf(\"%d%d\",a,b);
for(i=ab?b:a;i=1;i--)
if(a%i==0b%i==0)
break;
printf(\"最小公倍数:%d\\n最大公约数:%d\\n\",a*b/i,i);
回复

使用道具 举报

千问 | 2011-11-4 05:47:45 | 显示全部楼层

回复

使用道具 举报

千问 | 2011-11-4 05:47:45 | 显示全部楼层

回复

使用道具 举报

千问 | 2011-11-4 05:47:45 | 显示全部楼层
楼上那是啥子效率啊,我只写一点点,intgcd(inta,intb){if(!b)returna;returngcd(b,a%b);}还有个等式[a,b](a,b)=|ab|
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行