| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 798 人关注过本帖
标题:关于最大公约数的困扰
只看楼主 加入收藏
shaodanhua
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-9-5
收藏
 问题点数:0 回复次数:7 
关于最大公约数的困扰
int yue(int x,int y)
{ int i,t;
int n;
if (x>=y) t=y;
else t=x;
for(i=1;i<=t;i++)
{ (x%i==0)&&(y%i==0);
n=i;
}
return(n);
}
以上是一个求最大公约数的函数,请问大虾错在哪里?我老运行不出来
搜索更多相关主题的帖子: 最大公约数 困扰 
2007-09-10 16:11
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
for(i=1;i<=t;i++)
{ if(x%i==0 && y%i==0)
n=i;
}

2007-09-10 16:22
roy830507
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-9-10
收藏
得分:0 

论坛里有这样的例子,求最大公约数和最小公倍数的函数,在C语言中用辗转相除法比较多.
呵呵,我是刚看到的,以前也不知道.我转载一个.
比如:输入两个正整数m和n,求其最大公约数和最小公倍数。
程序源代码:
main()
{
  int a,b,num1,num2,temp;
  printf("please input two numbers:\n");
  scanf("%d,%d",&num1,&num2);
  if(num1  { temp=num1;
   num1=num2; 
   num2=temp;
  }
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
  {
   temp=a%b;
   a=b;
   b=temp;
  }
printf("gongyueshu:%d\n",a);
printf("gongbeishu:%d\n",num1*num2/a);
}


2007-09-10 16:28
faee0
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-5-28
收藏
得分:0 
利用递归求公约数
int gcd(num1,num2) //求最大公约数
{
  if(num1<num2) //如果num1比num2小,则将他们交换位置
 { temp=num1;
   num1=num2; 
   num2=temp;
  }
if(num1%num2==0)
return num2;
else
return gcd(num2,num1%num2);
}
公倍数就是num1*num2/gcd(num1,num2)
2007-09-11 14:15
shaodanhua
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-9-5
收藏
得分:0 
谢谢大家的回复,豁然开朗了

2007-09-11 15:19
yu2688
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-9-19
收藏
得分:0 

2007-09-19 21:19
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
int a,b,c;
while(b)
{ c=a%b;
a=b;
b=c;
}


renturn a;

偶是菜鸟鸟偶惧WHO?!!!!
2007-09-19 23:33
lengyang12
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-9-18
收藏
得分:0 
for(i=1;i<=t;i++)
{ (x%i==0)&&(y%i==0);
n=i;
这个里面的i应该是从2开始,也就是for(i=2;i<=t;i++)否则的话,你运行出来的n永远是1.还有如果从2开始取余,没有找到最大公约数,那么公约数就是1了。说明你的程序还没有编完嘛
2007-09-20 08:27
快速回复:关于最大公约数的困扰
数据加载中...
 
   



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

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