| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 561 人关注过本帖
标题:新手 最大公约数 我自己做了个 请高手帮着指点下
只看楼主 加入收藏
w_612425
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
新手 最大公约数 我自己做了个 请高手帮着指点下
#include <stdio.h>
int main()
{
    int m,n,k1,k2,divisor;
    printf("enter the number.\n",m,n);
    scanf("%d%d",&m,&n);
    if(m%n==0)
        divisor=n;
    else

    for(k1=k2=1;k1<=m,k2<=n;k1++,k2++)
        divisor=(m%k1==0&&n%k2==0);
        if(k1=k2)
            divisor=k1;
    printf("%d",divisor);
    return 0;
   

}
搜索更多相关主题的帖子: 公约数 
2011-03-18 12:55
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:3 
求GCD没那么复杂。
程序代码:
#include <stdio.h>

int main (void) {

        int gcd (int u,int v);
        int a,b;

        printf ("Enter two digit:");
        scanf ("%i%i",&a,&b);

        printf ("The gcd of %i and %i is:%i\n",a,b,gcd(a,b));

        return 0;

}
int gcd (int u,int v) {

        int temp;

        while (v!=0) {
                temp = u%v;
                u=v;
                v=temp;
        }
        return u;
}

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-18 13:05
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:3 
程序代码:
#include <stdio.h>//辗转相除法求gcd

int main()
{
    int gcd(int a,int b);
    int a,b;
    scanf("%d%d",&a,&b);
    printf("gcd is %d\n",gcd(a,b));
    return 0;
}
int gcd(int a,int b)
{
    while(a!=b)
    {
        if(a>b)
            a=a-b;
        else
            b=b-a;
    }
    return a;
}
2011-03-18 13:19
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:3 
#include <stdio.h>

int gcd( int a , int b )
{
    return b == 0 ? a : gcd( b , a % b ) ;
}

int main()
{
    int a , b ;
    scanf("%d%d", &a , &b ) ;
    printf("gcd is %d\n", gcd( a , b ) );
    return 0;
}

2011-03-18 15:42
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
收藏
得分:3 
#include <stdio.h>
int main()
{
int a,b,c,max;
scanf("%d%d",&a,&b);
if(a>b) c=b; else c=a;
for(max=c;max>0;max--)
{
    if(a%max==0&&b%max==0)
    {
        printf("%d\n",max);
        break ;
    }


}





return 0 ;
}看一下啊
2011-03-18 22:40
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
收藏
得分:0 
回复 4楼 『点点滴滴』
看不太懂你这个,能解释下吗
2011-03-18 22:58
w_612425
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-17
收藏
得分:0 
谢谢各位 我会努力的
2011-03-19 12:18
w_612425
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-17
收藏
得分:0 
回复 5楼 b465513006
你学C多久了 加我Q289562572  可以一起探讨
2011-03-19 12:20
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:3 
其实嘛,本质思想都是差不多的,神马辗转相除法,神马更相减损术

免费赠送河蟹一只
2011-03-19 13:01
a396550814
Rank: 2
等 级:论坛游民
帖 子:15
专家分:14
注 册:2011-3-19
收藏
得分:3 
回复 4楼 『点点滴滴』
return b == 0 ? a : gcd( b , a % b );
求解
2011-03-19 22:34
快速回复:新手 最大公约数 我自己做了个 请高手帮着指点下
数据加载中...
 
   



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

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