| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 413 人关注过本帖
标题:求助!!这个算出来不对啊··
只看楼主 加入收藏
糖包包
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2011-3-28
结帖率:91.67%
收藏
 问题点数:0 回复次数:5 
求助!!这个算出来不对啊··
程序代码:
#include<iostream>
using namespace std;
int main()
{

 int n,m,i,j,k,h;

 cout<<"输入两个正整数:";

 cin>>n>>m;

 if(n>m)

 {
  i=n;
  k=m;
  n=m;
        m=i;

 }

 j=n;

 while((m%n)!=0)

 {
  j=m%n;
  m=n;
  n=j;

 }
    h=(i/j)*(k/j)*j;

 cout<<"最大公约数为:"<<j<<endl;

 cout<<"最小公倍数为:"<<h<<endl;

 return 0;
}

结果好像不对,不知道哪里错了啊啊啊啊。

2011-05-30 21:42
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
if(n>m)
{
  i=n;
  k=m;
  n=m;
        m=i;
}
   h=(i/j)*(k/j)*j;

i k 没有进行初始化 当if不成立的时候
2011-05-30 22:14
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:0 
#include <iostream>
using namespace std;
void main()
{
    int m,n,a,b,i,temp;
    cout<<"input two numbers:"<<endl;
    cin>>m>>n;
    if(m<0)return;
    if(n<0)return;
    if (m<n)
    {
        temp=n;
        n=m;
        m=temp;
    }
    a=m;
    b=n;
    i=m%n;
    while(i!=0)
    {
        m=n;
        n=i;
        i=m%n;
        

    }
    cout<<"两个数的最大公约数为"<<n<<endl;
    cout<<"两个数的最小公倍数为"<<a*b/n<<endl;

}
最小公倍数是两个数的乘积除以最大公约数哦...

[ 本帖最后由 lianjiecuowu 于 2011-5-30 22:56 编辑 ]

Sharp your mind!
2011-05-30 22:53
pangping
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2011-5-30
收藏
得分:0 
#include<iostream>
using namespace std;
int gongyue(int x,int y)
{
    int z=0,temp=0;
    if(x<y)
    {
        temp=y;
        y=x;
        x=temp;
    } //使x为x,y中最大的数;
    while(x>=y)//循环相减法
    {
        if(x%y==0)return y;
        z=x-y;
        if(z>y)
        {
            x=z;
        }else y=z;
        
    }

}
int gongbei(int x,int y)
{
    int z=0;
    z=gongyue(x,y);
    return x/z*y;
}
void main()
{
    int x,y;
    cin>>x>>y;
    cout<<gongyue(x,y)<<endl;
    cout<<gongbei(x,y)<<endl;
}
2011-05-31 10:12
糖包包
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2011-3-28
收藏
得分:0 
恩恩,懂了~谢谢大家。
2011-06-01 12:03
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
程序代码:
#include <stdio.h>

int gcd(int a, int b) {     // 最大公约数,用递归来做辗转相除。
    if(!(a % b))
        return b;
    return gcd(b, a % b);
}

int lcm(int a, int b) {     // 最小公倍数。
    return a * b / gcd(a, b);
}



My life is brilliant
2011-06-02 16:31
快速回复:求助!!这个算出来不对啊··
数据加载中...
 
   



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

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