| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1144 人关注过本帖
标题:求555555、777、6435、10868这4个正整数的最小公倍数。 编程后求得的数据是 ...
只看楼主 加入收藏
powerfrank
Rank: 2
等 级:论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
结帖率:80%
收藏
已结贴  问题点数:2 回复次数:3 
求555555、777、6435、10868这4个正整数的最小公倍数。 编程后求得的数据是错的,大侠们帮忙看看哪里错了。
编程后求得的数据是错的,大侠们帮忙看看哪里错了。看了半天没看出来。

//写一程序,求555555、777、6435、10868这4个正整数的最小公倍数。

#include <stdio.h>
#include <stdlib.h>

int zxgbs ( int , int ) ;
int zdgys ( int , int ) ;

//主函数
int main ()
{
    printf("555555、777、6435、10868这4个正整数的最小公倍数是:%d。\n",zxgbs ( zxgbs (555555,777) , zxgbs (6435,10868) ) );
    system ("pause") ;
    return 0 ;
}

//最大公约数的函数
int zdgys ( int zd1 , int zd2 )
{
    int tmp ;
    while ( (tmp = zd1 % zd2) != 0 )
    {
        zd1 = zd2 ;
        zd2 = tmp ;
    }
    return zd2 ;
}

//最小公倍数的函数
int zxgbs ( int zx1 , int zx2 )
{
    return zx1 * zx2 / zdgys (zx1 , zx2 ) ;
}
搜索更多相关主题的帖子: 正整数 最小公倍数 编程 数据 int 
2018-11-15 10:42
powerfrank
Rank: 2
等 级:论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
收藏
得分:0 
回复 楼主 powerfrank


[此贴子已经被作者于2018-11-15 10:57编辑过]

2018-11-15 10:55
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:2 
溢出

程序代码:
#include <stdio.h>

unsigned lcm( unsigned, unsigned );

int main( void )
{
    printf( "555555、777、6435、10868这4个正整数的最小公倍数是:%u。\n", lcm(lcm(555555,777),lcm(6435,10868)) );
}

unsigned gcd( unsigned a, unsigned b )
{
    while( b != 0 )
    {
        unsigned tmp = a % b;
        a = b;
        b = tmp;
    }
    return a;
}

unsigned lcm( unsigned a, unsigned b )
{
    return a / gcd(a,b) * b;
}

2018-11-15 11:06
powerfrank
Rank: 2
等 级:论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
收藏
得分:0 
回复 3楼 rjsp
谢谢大神指点迷津
2018-11-15 11:21
快速回复:求555555、777、6435、10868这4个正整数的最小公倍数。 编程后求得的数 ...
数据加载中...
 
   



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

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