> 文档中心 > 玩转辗转相除法

玩转辗转相除法


1.先用简单的文字来叙述一下辗转相除法求最小公约数

       其实辗转相除法求最小公约数并不难理解,文字说明一下应该就能理解吧哈哈哈!试试看吧.

         咱就是说,输入两个数,分别记作 m,n ,假设m的值大于n的值(当然你喜欢的话也可以n>m),有 r=m%n(r是除数m除以被除数n的余数),此处需要注意的是:除数值一定是大于被除数的!当余数r不等于0时,我们再选择n作为除数,余数r作为被除数接着作除法运算,一直重复这个过程,直到余数 r=0,最后一次运算的被除数就是我们要求的最小公约数!!!

                                                      是不是一下就懂了!

      我们举个例子来说明一下:18%12=6,12%6=0;那么6就是我们要求的最小公约数了!

          2.  没明白的童鞋不要方,我们接着来看NS流程图!

 

       我的天,字实在不忍睹目啊!(此处省略一万个尴尬),凑合看吧就...   回到正题,是不是看起来通俗易懂?!

            3.    要是还没懂咋整,不急不急,我们上代码

#include #include  //另起这个头文件是为了避免一些同学在执行程序过程中窗口闪退void main(){    int m,n,r,temp;    printf("请输入两个数:");    scanf("%d%d",&m,&n);    if(m<n)      { temp=m; n=m; n=temp;      }    r=m%n;    while(r!=0)  {    m=n;    n=r;    r=m%n;  }     printf("最大公约数=%d\n",n);    system("pause");//配合另起的头文件起暂停作用,这样就不会闪退啦!}

       聪明才智的各位到这一定都懂了吧?!还是没明白的同学我觉得咱俩可以聊聊哈哈哈   这部分内容算是c里面比较基础的知识点了,希望同学们一起好好理解,共同进步吧!