当前位置: 代码迷 >> C语言 >> [讨论]输入两个整数,求其最大公约数和最小公倍数
  详细解决方案

[讨论]输入两个整数,求其最大公约数和最小公倍数

热度:219   发布时间:2006-11-14 10:40:23.0
可惜我不会。。郁闷ing
----------------解决方案--------------------------------------------------------
这就没法!你就别学了!我建议你找其他门路好了!
----------------解决方案--------------------------------------------------------

int gcd(int im,int in)
{
while(0!=im)
{
im%=in;
if(0==im) return in;
in%=im;
if(0==in) return im;
}
}


----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
int a,b,temp,p;
printf("in put two number:");
scanf("%d,%d",&a,&b);
if(a<b)
{
temp=a;
a=b;
b=temp;
}
p=a*b;
do
{
a=a-b;
b=b-a;
}
while(a!=b);
printf("%d\n",a);
printf("%d\n",p/a);
}
我这个程序怎么运行没有结果呀?谁帮我找找原因?

----------------解决方案--------------------------------------------------------

http://bbs.bc-cn.net/viewthread.php?tid=103210

已经在内了

1.求两数的最大公约数
function gcd(a,b:integer):integer;
begin
if b=0 then gcd:=a
else gcd:=gcd (b,a mod b);
end ;
2.求两数的最小公倍数
function lcm(a,b:integer):integer;
begin
if a<b then swap(a,b);
lcm:=a;
while lcm mod b>0 do inc(lcm,a);
end;

[此贴子已经被作者于2006-11-15 20:06:39编辑过]


----------------解决方案--------------------------------------------------------
void main()
{
int a,b,temp,p;
printf("in put two number:");
scanf("%d,%d",&a,&b);
if(a<b)
{
temp=a;
a=b;
b=temp;
}
p=a*b;
do
{
r=a-b;
a=b;
b=r;
}
while( b!=r);
printf("%d\n",b);
printf("%d\n",p/b);
}
这个程序怎么不能运行呢?
----------------解决方案--------------------------------------------------------
r没有定义!
void main()
{
int a,b,temp,p;
printf("in put two number:");
scanf("%d,%d",&a,&b);
if(a<b)
{
temp=a;
a=b;
b=temp;
}
p=a*b;
do
{
r=a-b;
a=b;
b=r;
}
while( b!=r);
printf("%d\n",b);
printf("%d\n",p/b);
}

----------------解决方案--------------------------------------------------------
  相关解决方案