| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1694 人关注过本帖
标题:c语言 求求两个数之间的最大公约数
只看楼主 加入收藏
小米一
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-6
收藏
 问题点数:0 回复次数:20 
c语言 求求两个数之间的最大公约数
在线的帮忙看下 感激不尽啊
求两个数之间的最大公约数,我是这样写的,在turbo c的环境下编写的,内容如下:
main()
{
int a,b,i,max;
scanf("%d,%d",&a,&b);
for(i=1;i<=1000;i++){
if(a%i==0&&b%i==0) max=i;
}
printf("%d",max);
}
实际的运行情况竟然是1.换了很多个数都是这样。请大家指出来或者完善这个程序,谢谢

搜索更多相关主题的帖子: c语言 最大公约数 
2008-11-06 14:59
小米一
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-6
收藏
得分:0 
这里的高手都不在线么?...看看啊
2008-11-06 15:02
牧人
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2008-10-22
收藏
得分:0 
/*输入两个正整数m和n,求其最大公约数和最小公倍数。*/
#include<stdio.h>
main()
{
int m,n,a,b,temp;
printf("Enter two num,Please!");
scanf("%d%d",&m,&n);
if(m<n)
    {
    temp=m;
    m=n;
    n=temp;
    }
  a=m;
  b=n;
  while (n!=0)
  {
  temp=m%n;
  m=n;
  n=temp;
  }
  printf("%d,%d\n",m,a*b/n);
}

看看这个可以参考参考
2008-11-06 15:06
牧人
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2008-10-22
收藏
得分:0 
/*输入两个正整数m和n,求其最大公约数和最小公倍数。*/
#include<stdio.h>
main()
{
int m,n,a,b,temp;
printf("Enter two num,Please!");
scanf("%d%d",&m,&n);
  if(m<n)
  {
    temp=m;
    m=n;
    n=temp;
     }
      a=m;
      b=n;
     while (n!=0)
      {
        temp=m%n;
         m=n;
         n=temp;
        }
  printf("%d,%d\n",m,a*b/n);
}

看看这个可以参考参考
2008-11-06 15:08
小米一
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-6
收藏
得分:0 
是不是我这类人都笨的可以..
2008-11-06 15:09
scheelite
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2008-11-5
收藏
得分:0 
#include<stdio.h>

int min(int,int);

main()
{
int a,b,i,max;
scanf("%d,%d",&a,&b);
for(i=2;i<=min(a,b);i++)
 if(a%i==0&&b%i==0) max=i;

 printf("%d",max);
}

int min(int a,int b)
{return(a>b?a:b);
}

一般不用这个算法,
2008-11-06 15:12
小米一
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-6
收藏
得分:0 
查了很多以前的帖子 就一个感觉
想在自己的这个错误的基础上改革一下...
2008-11-06 15:13
elysion
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-11-6
收藏
得分:0 
回复 5# 的帖子
我也笨的可以 没看懂你写的
2008-11-06 15:14
小米一
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-6
收藏
得分:0 
#include<stdio.h>
void main()
{
int m,n,x,a;
printf("input two integers:");
scanf("%d%d",&m,&n);
x=m<n?n:m;
while(!(x%m==0&&x%n==0))
{x++;}
a=m*n/x;
}
x是最小公倍数,a是最大公约数。 哭死  ...这个对吗
2008-11-06 15:15
死亡军团
Rank: 2
等 级:论坛游民
威 望:2
帖 子:166
专家分:20
注 册:2008-11-4
收藏
得分:0 
我这里有一个求两个数的最大公约数和最小公倍数的程序,,但是我这是在vc 6.0环境下写的,,你可以试一试:
         
#include <stdio.h>
void main ()
{
  int gcd(int a,int b);
  int lcd(int a,int b,int h);
  int a,b,h,l;
  printf("请输入两个整数ab\n");
  scanf("%d,%d",&a,&b);
  h=gcd(a,b);
  l=lcd(a,b,h);
  
  printf("最大公约数是%d\n",h);
  printf("最小公倍数是%d\n",l);
  
}
  int gcd(int a,int b)
  {
    int m,r;
   if (b>a) {m=a;a=b;b=m;}
   while ((r=a%b)!=0)    \*用辗转相除法求最大公约数*\
     {
       a=b;b=r;        
      }

   return (b);
   }

    int lcd(int a,int b,int h)
    {
    return (a*b/h) ;
     }
2008-11-06 15:18
快速回复:c语言 求求两个数之间的最大公约数
数据加载中...
 
   



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

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