| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9729 人关注过本帖
标题:【求助】C语言怎么求多个数的最小公倍数与最大公约数?
只看楼主 加入收藏
ljp200901284
该用户已被删除
收藏
 问题点数:0 回复次数:6 
【求助】C语言怎么求多个数的最小公倍数与最大公约数?
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: C语言 最大公约数 最小公倍数 
2010-05-06 12:12
yukun314
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:35
专家分:120
注 册:2010-4-18
收藏
得分:0 
两个正整数的最大公约数和最小公倍数的求法尼会吗?多个数也差不多,也就是这N个数从头开始先求前两个数的最大公约数(设为n1),然后n1再与第三个数求出其最大公约数(设为n2),n2再与第四个数求出最大公约数……直至求出所有数的最大公约数。这些数的最小公倍数就是这些数的成绩再除以这些数的最大公约数。

如果真的写不出,有时间再给你写代码吧
2010-05-06 13:24
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
。这些数的最小公倍数就是这些数的成绩再除以这些数的最大公约数。.........楼上的你真是站着说话不腰疼

http://topic.
这个帖子里有你想要的
2010-05-06 15:10
yukun314
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:35
专家分:120
注 册:2010-4-18
收藏
得分:0 
三个数的最大公约数与最小公倍数(如果输很多可以写到循环里)
int a,b,c,i,temp,ji;
if(a<b)
{
temp=a;
a=b;
b=temp;
}
ji=a*b;
i=a%b;
while(i!=0)
{
a=b;
b=i;
i=a%b;
}
//这时b就是这两个数的最大公约数
ji=ji/b*c;
if(b<c)
{
temp=b;
b=c;
c=temp;
}
i=b%c;
while(i!=0)
{
b=c;
c=i;
i=b%c;
}
//这时c就是这三个数的最大公约数,ji/c就是这三个数的最小公倍数
2010-05-08 08:55
ljp200901284
该用户已被删除
收藏
得分:0 
回复 2楼 yukun314
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-15 17:53
hellou
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-3-16
收藏
得分:0 
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int a[102],n,i;
    for(; cin>>n && n;){
        for(i=0; i<n; i++)
            cin>>a[i];
        sort(&a[0],&a[n]);
        if(a[0]==0){
            cout<<0<<endl;
            continue;
        }
        int small=a[n-1];
        for(i=n-2; i>=0; i--){
            if(small%a[i]){
                small+=a[n-1];
                i=n-1;
            }
        }
        cout<<small<<endl;
    }
    return 0;
}

我编程很差。
2013-03-19 20:10
hellou
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-3-16
收藏
得分:0 
#include<stdio.h>
#include<malloc.h>
int hanshu(int a,int b){
      int c,d,e;
      d=a;e=b;
      while(b!=0){
          c=a%b;
          a=b;
          b=c;
      }
      return d*e/a;
}
int main(){
      int n,*a,i,d,m;
      scanf("%d",&m);
      for(int j=0;j<m;j++)
      {
         scanf("%d",&n);
          a=(int *)malloc(sizeof(int) *n);
          for(i=0;i<n;i++)
              scanf("%d",a+i);
          d=hanshu(a[0],a[1]);
          if(n>2)
              for(i=2;i<n;i++)
                  d=hanshu(d,a[i]);
              printf("%d\n",d);
      }
      
      return 0;
}
这是别人的

我编程很差。
2013-03-19 20:51
快速回复:【求助】C语言怎么求多个数的最小公倍数与最大公约数?
数据加载中...
 
   



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

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