| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 941 人关注过本帖
标题:求最大公约数和最小公倍数
只看楼主 加入收藏
linyongxing
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2010-11-29
收藏
得分:0 
程序代码:
# include <stdio.h>

int main()
{
    int gye(int,int),gbs(int,int,int);
    int a,b,m,n;
    scanf("%d,%d",&a,&b);
    m=gys(a,b);
    n=gbs(a,b,m);
    printf("m=%d,n=%d\n",m,n);
}
int gys(int x,int y)
{
    int r;
    do
        {r=x%y;x=y;y=r;}
        while(r!=0);
        return(x);
}
int gbs(int x,int y,int z)
{
    int t;
    t=x*y/z;
    return(t);
}
这个程序是用一个函数(gys)求出最大公约数,用另一个函数(gbs)根据求出的的最大公约数求最小的公倍数。
运行如:12,18
       m=6,n=36

2010-11-30 17:14
jaychou6968
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-11-27
收藏
得分:0 
#include "stdio.h"
void main()
{
   int a,b,m;
    scanf("%d %d",&a,&b);
     m=a>b?b:a;
   for(;m>=2;m--)
    if(a%m==0&&b%m==0)break;
    printf("最大公约数=%d\n",m);
    printf("最小公倍数=%d",a*b/m);
}
2010-11-30 17:44
fy8207345
Rank: 2
等 级:论坛游民
帖 子:37
专家分:64
注 册:2010-10-12
收藏
得分:0 
很简单的
#include<stdio.h>
main()
{
    int i,j,k,m,n;
    printf("Input m and n:");
    scanf("%d%d",&m,&n);
    if (m>=n)
    {
        i=n;
    for(j=i;j>0;j--)
        if(i%j==0&&m%j==0)
            break;
            printf("The max is:%d\n",j);
    }
   
    else
    {
        i=m;
    for(j=i;j>0;j--)
        if(i%j==0&&n%j==0)
            break;
            printf("The max is:%d\n",j);
    }
    if(j!=1)
    {
        k=m*n/j;
    }
    else
        k=m*n;
    printf("The min is:%d",k);
    return 0;
}
2010-12-01 10:30
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
都懒得骂你了

我是初学者
2010-12-01 15:04
XO鸡丝
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-12-1
收藏
得分:0 
#include "stdio.h"


void f(int m,int n)
{int s;
L:if (m==n)
     printf("最大公约数是 %d  \n",m);
  if (m<n)
     {
       s=m;m=n;n=s;
     }
  m=m%n;
  if (m==0)
     printf("最大公约数是 %d  \n",n);
  else
     goto L;
}


void p(int m,int n)
{ int s,t,i;
 if(m==n)
     printf("最小公倍数是 %d\n",m);
  if (m>n)
     {
       s=m;m=n;n=s;
     }
  t=m;
  for(i=1;i<=n;i++)
     {
      t=m*i;
      if (t%n==0)
         {printf("最小公倍数是 %d\n",t);
          break;}
     }
}

void main()
{int m,n,s,t,i;
 printf("请输入两个整数,并以逗号隔开:\n");
 scanf("%d,%d",&m,&n);
 f(m,n);
 printf("\n");
 p(m,n);

}
2010-12-01 20:09
XO鸡丝
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-12-1
收藏
得分:0 
原本简单的一道题。。。你写的我看得都累。。。
2010-12-01 20:09
快速回复:求最大公约数和最小公倍数
数据加载中...
 
   



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

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