| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8025 人关注过本帖
标题:请问下求两个数的最大公约数怎么弄?谢谢!
只看楼主 加入收藏
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
结帖率:80%
收藏
 问题点数:0 回复次数:21 
请问下求两个数的最大公约数怎么弄?谢谢!
谢谢啊!问题如下:请问下求两个数的最大公约数怎么弄?谢谢!
这里不清楚怎么弄!思考了好一会,还是没能写出程序来!
搜索更多相关主题的帖子: 最大公约数 
2008-07-21 14:22
yejingx
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-12-11
收藏
得分:0 
int GCD(int a, int b)
{
   if(b == 0) return a;
   else return GCD(b, a%b);
}

int LCM(int a, int b)
{
   return a*b/GCD(a,b);
})
2008-07-21 14:36
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
可否加个注释什么的!谢谢啊!

编程小菜
2008-07-21 16:44
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
自己顶起来^

编程小菜
2008-07-21 18:04
zhangzhongxu
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-7-20
收藏
得分:0 
s1:输入m,n
s2:若m>n,则返回s3,否则m=n
s3:m/n的余数为r,若r=0则n为最大公约数,否则返回s4
s4:m=n,n=r,返回s3
s5:输出最大公约数n
2008-07-22 07:16
YuriGagarin
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2008-2-22
收藏
得分:0 
这个问题的关键,我想应该是楼主是否清楚:
  最大公约数的定义?!

  如果不清楚,建议百度!
2008-07-22 10:25
ams87
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-7-21
收藏
得分:0 
错在那里???
冒似真的不晓得错在那里...

#include "stdio.h"
main()
{int a,b,c,n;
    scanf("%d,%d",&a,&b);
    if (a>b)
       for(n=b;n>1;--n)
         { if(a/n==0&&b/n==0)
        printf("%d\n",n);
        }
    else
       for(n=a;n>1;--n)
         { if(a/n==0&&b/n==0)
          printf("%d\n",n);
               }
}
2008-07-22 10:44
countryroad
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-1-23
收藏
得分:0 
//利用递归求最大公约数 ,此算法好好理解
int GCD(int a, int b)
{
   if(b == 0) return a;
   else return GCD(b, a%b);
}

//求最小公倍数,用到最大公约数的返回值
int LCM(int a, int b)
{
   return a*b/GCD(a,b);
})
2008-07-22 10:50
guoxiaoling
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-7-22
收藏
得分:0 
#include "stdio.h"
main()
{int a,b,c,n;
    scanf("%d,%d",&a,&b);
    if (a>b)
       for(n=b;n>1;--n)
         { if(a/n==0&&b/n==0)
            {printf("%d\n",n);
              break;      
                }
           }
      else
       for(n=a;n>1;--n)
         { if(a/n==0&&b/n==0)
             {printf("%d\n",n);
              break;
              }
          }
}
2008-07-22 11:34
崔园园
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2008-4-21
收藏
得分:0 
这是一个简单的算法,请找一个例子走一遍程序
#include <stdio.h>
void main()
{int a,b,d;
scanf("%d,%d",&a,&b);
if(a>b)
d=div(a,b);
else
d=div(b,a);
printf("a=%d,b=%d\n",a,b);
printf("d=%d");
}
int div(int a,int b)
{int r;
do
{r=a%b;a=b;b=r;}
while(r!=0);
return a;}
2008-07-22 20:02
快速回复:请问下求两个数的最大公约数怎么弄?谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012523 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved