毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

C语言中的经典算法研究(2)

时间:2021-02-03 20:26来源:毕业论文
num1=x;num2=y; t=num1%num2; while(t!=0) { num1=num2;num2=t;t=num1%num2; } printf(zdgys=%d\n,num2); return 0; }运行结果如图1: 图1 (2)相减法 算法思想:用两个数中的较大数减去

    num1=x;num2=y;

    t=num1%num2;

    while(t!=0)

    {  num1=num2;num2=t;t=num1%num2;  }

    printf("zdgys=%d\n",num2);

    return 0;

}运行结果如图1:  图1

(2)相减法

算法思想:用两个数中的较大数减去较小数,若所得的差与小数相等,则该所得的差为最大公因数。若不等,对所得的差和小数,继续用大数减去小数,直到所得的差和较小的数相等为止。

例2:还以m=40,n=15为例,40-15=25(25>15),25-15=10(10<15),15-10=5(5<10),10-5=5(5=5),所以,40和25的最大公因数为5。

程序如下:

#include<stdio.h>

main( )

{

  int x,y,m,n,t;

  scanf("%d,%d",&x,&y);

  m=x;n=y;

  while (m!=n)

   if (m>n)

      m=m-n;

   else

      n=n-m;

  printf( "zdgys=%d\n" , m);

  return 0;

}

C语言中的经典算法研究(2):http://www.youerw.com/jisuanji/lunwen_69511.html
------分隔线----------------------------
推荐内容