| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 566 人关注过本帖
标题:求2个数的余数
只看楼主 加入收藏
caochuan2000
Rank: 2
等 级:论坛游民
帖 子:66
专家分:35
注 册:2009-4-11
结帖率:76.47%
收藏
已结贴  问题点数:20 回复次数:2 
求2个数的余数
#include <stdio.h>
int fun1(int m,int n);
int fun2(int m,int n);
void main()
{
int m,n,x;
printf("take two number:");
scanf("%d,%d",&m,&n);
x=fun1(m,n);
//x=fun2(m,n);
printf("%d",x);
}
int fun1(int m,int n)
{
if(m%n==0)return n;
else fun1(n,m%n);
}
int fun2(int m,int n)
{
int i;
if(m>n)
{
for(i=n;i>1;i--)
{
if(m%i==0)return i;
else return 1;
}
}
if(n>m)
{
for(i=m;i>1;i--)
{if(n%i==0)return i;
else return 1;
}
}
}
求2个数的余数,我开始用递归法写了个fun1,感觉不对,后来又写了个不用递归法的fun2,还是不对啊,请大家帮我看看这2个函数有什么问题
搜索更多相关主题的帖子: 余数 
2009-08-23 12:14
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:10 
求2个数的余数,看你的算法是求两数最大公约数吧.
你写的第一个函数:
int fun1(int m,int n)
{
if(m%n==0)return n;
else return fun1(n,m%n); /*这里要多加一个return函数就对了*/
}

你写的第二个函数太乱了,不符合思路,改了另一种.
int fun2(int m,int n)
{
int i,t;
if(n>m)
 {
  t=m;m=n;n=t;
 }
 while(n)
   {
    if(m%n==0)return n;
    else
     {
      t=m;
      m=n;
      n=t%n;
     }
   }

}

努力—前进—变老—退休—入土
2009-08-23 16:08
DMS
Rank: 2
等 级:论坛游民
帖 子:54
专家分:48
注 册:2009-6-28
收藏
得分:10 
int fun1 (int a,int b)
{ int c;
  if(a<b)
   {
    c=a;
    a=b;
    b=c;
   }
   while(1)
   {
    c=a%b;
    a=b;
    b=c;
    if (c==0)
    break;
   }
   return a;
}
2009-08-23 18:33
快速回复:求2个数的余数
数据加载中...
 
   



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

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