| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:我编的求两个数的最大公约数和程序有问题,请大家帮忙看一下.
只看楼主 加入收藏
lub1990
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-5-11
结帖率:100%
收藏
 问题点数:0 回复次数:5 
我编的求两个数的最大公约数和程序有问题,请大家帮忙看一下.
源码如下:
程序代码:
#include<iostream>
void yuns();
void yu();
int main()
{
    using namespace std;
    
    int a,b,e,f,t;
    float c,d;
    
    cout<<"请输入两个数:";
    cin>>a>>b;              
    
    if(a>=b)
            a=a,b=b;
    else
        t=a;
        a=b;
        b=t;
    e=0;    
     
     yuns();
  
     system("pause");
     return 0;
}            
                          

void yuns()
{
     int a,b,e,f,t;
    float c,d;
     f=b-e;
     c=a/f;
     d=b-f;
     yu();
}
void yu()
{
     using namespace std;
     int a,b,e,f,t;
    float c,d;
     if(c-(int)c==0)
     {
         if(d-(int)d==0)
             cout<<"\n最大公约数为:"<<f;
          else
              e++;
              yuns();
     }
     else
              e++;
              yuns();
}




结果是:

	
		
			
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 lub1990 于 2009-9-14 13:47 编辑 ]
搜索更多相关主题的帖子: 最大公约数 
2009-09-14 13:18
forclwy
Rank: 4
等 级:业余侠客
帖 子:167
专家分:255
注 册:2008-10-21
收藏
得分:0 
感觉程序好乱
2009-09-14 18:29
choco1024
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:183
专家分:140
注 册:2008-8-31
收藏
得分:0 
#include <iostream>
using namespace std;
int main()
{
    int p,r,n,m,temp;
    cout<<"please input the integer numbers n,m:";
    cin>>n>>m;
    if(n<m)
    {
        temp=n;n=m;m=temp;  //把大数放在n中,小数放在m中
    }
    p=n*m;
    while(m!=0)           //求m,n的最大公构数
    {
        r=n%m;
        n=m;
        m=r;
    }
    cout<<"最大公约数为:"<<n<<endl;
    cout<<"最小公倍数为:"<<p/n<<endl;
    return 0;
}
 
2009-09-14 22:57
lub1990
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-5-11
收藏
得分:0 
回复 3楼 choco1024
谢谢你,这个程序可用,但是有一点我不懂,其中
while(m!=0)           //求m,n的最大公构数
    {
        r=n%m;
        n=m;
        m=r;
    }
这是什么原理?
2009-09-14 23:15
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
回复 4楼 lub1990
这个可以去问欧几里德~~~~

迭代的是人,递归的是神。
2009-09-15 10:51
lub1990
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-5-11
收藏
得分:0 
回复 5楼 lintaoyn
谢了.
2009-09-15 12:02
快速回复:我编的求两个数的最大公约数和程序有问题,请大家帮忙看一下.
数据加载中...
 
   



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

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