0基础学编程之最大公约数(辗转相除法)

//求最大公约数的方法:辗转相除法
//辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。
//例如,求(319,377):
//∵ 319÷377=0(余319)
//∴(319,377)=(377,319);
//∵ 377÷319=1(余58)
//∴(377,319)=(319,58);
//∵ 319÷58=5(余29)
//∴ (319,58)=(58,29);
//∵ 58÷29=2(余0)
//∴ (58,29)= 29;
//∴ (319,377)=29。
#include<stdio.h>
int main()
{
   int a, b, t;
   printf("请输入两个数\n");
   scanf("%d%d",&a,&b);  //输入两个数
   if(a<b)               //两个数按从大到小排列
   {
          t = a;
 a = b;
 b = t;
   }
   while(a%b != 0)      
   {
          t = a % b;
 a = b;
 b = t;
   }
   printf("%d\n", b);
   return 0;

}

运行结果:


版权声明:本文为Name_HeMinXue原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。