在哪里做到了t*n*m ????
. 圈内达人 2016-02-28 17:04:36
2306 3 0

#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);

}


问题来自: 改错题真题

共 3 个回答

    最佳答案

    嘿嘿大人 一代宗师 3433天前

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

    . 圈内达人 3433天前

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

    嘿嘿大人 一代宗师 3433天前

    回复 .

    #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;

    }


您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题