标题:输入3个数,求它们的最小公倍数,不知道错在哪
只看楼主
zhoujin1994
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2013-4-25
结帖率:0
 问题点数:0 回复次数:12 
输入3个数,求它们的最小公倍数,不知道错在哪
#include<stdio.h>
void main()
{  int x,y,z,j;
   int t,m,n;
  scanf("%d,%d,%d ",&x,&y,&z);
  j=1;
  t=m=n=1;
/********found********/
 while(t!=0&&m!=0&&n!=0)
  {j=j+1;
   t=j%x;
   m=j%y;
     n=j%z;
  }
 printf("The minimal common multiple is %d\n",j);
/********found********/
}
搜索更多相关主题的帖子: 最小公倍数 multiple common 
2013-04-25 09:12
zhoujin1994
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2013-4-25
得分:0 
这个程序的编译,组建和执行都没问题,可就是结果总是那两个数中的最小那个,求解答
2013-04-25 16:11
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
while((t+m+n)!=0)
收到的鲜花
  • zhoujin19942013-04-27 08:20 送鲜花  1朵  
2013-04-25 19:57
zhoujin1994
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2013-4-25
得分:0 
回复 3楼 apull
但是,执行没结果啊,编译,组建都没错误
2013-04-25 22:49
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
scanf("%d,%d,%d ",&x,&y,&z);
你这个输入时最后要多输入一个空格才算是输入完成。多按几下回车。
2013-04-26 01:06
xiaohui01
Rank: 2
等 级:论坛游民
帖 子:12
专家分:22
注 册:2013-3-9
得分:0 
把那个&&改成||
收到的鲜花
  • zhoujin19942013-04-27 08:23 送鲜花  1朵  
2013-04-26 15:57
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
得分:0 
我是做的 c++的,思路:先求出2个数的最大公约数,然后在求出三个数的最大公约数;最后求出最小公倍数。
程序代码:
#include <iostream>
using namespace std;
int main()
{
   int n,m,l,r,k;
   cin>>n>>m>>l;
   r=1;k=n*m*l;
   while(r)//先求出2个的数最大公约数
   {
       if(n>m){int t=n;n=m;m=t;}
       r=m%n;
       m=n;
       n=r;
   }
   r=1;
   while(r)//3个最大公约数
   {
       if(m>l){int t=m;m=l;l=t;}
       r=l%m;
       l=m;
       m=r;
   }
   cout<<k/l<<endl;//最小公倍数
   return 0;

}
收到的鲜花
  • zhoujin19942013-04-27 08:21 送鲜花  2朵  
2013-04-26 19:25
不得不编程
Rank: 2
等 级:论坛游民
帖 子:7
专家分:27
注 册:2012-11-5
得分:0 
你的while语句的判断条件是它们中有一个为零就循环结束了,函数里面t=j%x,m=j%y,n=j%z;j=j+1当循环时肯定是当j=最小值得时候t,m,n里面就有一个取余为零了啊,这时while语句就结束了,这样j的值最终肯定就是最小值,
收到的鲜花
  • zhoujin19942013-04-27 08:22 送鲜花  2朵  
2013-04-26 19:40
zhoujin1994
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2013-4-25
得分:0 
还是没结果
2013-04-26 21:50
jessychen
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-4-17
得分:0 
#include <iostream>
#include<stdio.h>
#include <math.h>
using namespace std;
void main()
{  int x,y,z,j;
   cout<<"输入三个整数,每输入一个回车结束:"<<endl;
   cin>>x>>y>>z;   
   j=x;
   while ((j%x!=0)||(j%y!=0)||(j%z!=0)) j++;
     
printf("The minimal common multiple is %d\n",j);

}
收到的鲜花
  • zhoujin19942013-04-27 08:22 送鲜花  2朵  
2013-04-26 22:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-405446-1-1.html




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

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