别看我只是一只羊


私信TA

用户名:bkwzsyzy

访问量:4411

签 名:

等  级
排  名 2371
经  验 2339
参赛次数 1
文章发表 23
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:


过程简述(原理不多赘述,网上很多)


(1)大数除小数 ①余数为0,除数即最大公约数

                           ②余数不为0,执行(2)

(2)余数不为0,上一轮的除数作为被除数,上一轮的余数作为除数。

         再次判断余数 ①余数为0,除数为最大公约数

                              ②余数不为0,执行(2)

(3)直至余数为0,最后一个除数为最大公约数。


例如:

     14 10

     14/10=1.....4

      10/4= 2.....2   //上一轮的除数作为被除数,上一轮的余数作为除数

       4/2=  2.....0   //直至余数为0,最后一个除数为最大公约数




核心代码解释


int x=1;    //余数,初值为1
while ( x ! = 0)    //①若a<b,无需颠倒,商0,余数即除数本身 下有例子 ②余数为0,即跳出循环
{      
           x=a%b;  //余数赋值x 
          a=b;    //上一轮的除数作为被除数    
          b=x;    //上一轮的余数作为除数
    }


自动颠倒例子    

10%14=10; 

    x=10;

    a=14;

    b=10;

此时x!=0,继续执行while循环  


 

0.0分

0 人评分

  评论区

  • «
  • »