全部问题 > 当前问题

在哪里做到了t*n*m ????

#include <stdio.h>

/************found************/

fun(int x,int y,int z )

{  int  j,t ,n ,m;

   j = 1 ;

   t=j%x;

   m=j%y;

   n=j%z;

   while(t!=0||m!=0||n!=0)

   {  j = j+1;

      t=j%x;

      m=j%y;

      n=j%z;

 

   } 

/************found************/


   return j;

}

main( )

{  int   x1,x2,x3,j ;

   printf("Input x1  x2  x3:  "); 

   scanf("%d%d%d",&x1,&x2,&x3);

   printf("x1=%d, x2=%d, x3=%d \n",x1,x2,x3);

   j=fun(x1,x2,x3);

   printf("The minimal common multiple is : %d\n",j);

}


. 2016-2-28 17:04:36

共 3 个回答

最佳答案

嘿嘿大人 2016-2-28 17:16:50

最小公倍数也不一定是要三个数相乘啊

. 2016-2-28 17:20:50

回复 嘿嘿大人:返回    j    的值的时候 ,j这个时候的值是怎么变成330的?我看着觉得这个时候  j    还是2啊

嘿嘿大人 2016-2-28 17:27:57

回复 .

#include <stdio.h>

/************found************/

fun(int  x, y, z ) //15 11 2

{  int  j,t ,n ,m;

   j = 1 ;

   t=j%x;  //t=1

   m=j%y ;  //m=1

   n=j%z;   //n=1

   while(t!=0||m!=0||n!=0)

   {  j = j+1; //这里是在将j一直叠加,然后一直除以xyz,当这个j除以xyz的余数都为零的时候才会跳出循环,所以这样得到的j就是这三个数的最小公倍数咯

      t=j%x;

      m=j%y;

      n=j%z;

   }

/************found************/

   return i;

}


问题来自: 改错题真题