最大公約数の使用を見つけるためのユークリッドアルゴリズム

参考記事 

  1、 "LinuxのCプログラミングストップ学習" 運動5.3.1

  2、Baiduの百科事典ユークリッドのアルゴリズム:https://baike.baidu.com/item/Euclid%E7%AE%97%E6%B3%95

考え

  2つの正の整数a、bを使って書かれEucidアルゴリズムは最大公約数(GCD、最大公約数Dvisor)であります

  1、Bもし割り切れる、Bは、最大公約数であります

  2、そうでない場合、bは最大公約数GCDおよび%Bに等しい、すなわちGCD(A、B)= GCD(B、%b)は

コード

1  // 機能:2つの正の整数の最大公約数得
2の#include <stdio.hの>を
 。3  
。4  // 方法1:サイクルは、大きな又は大B考慮する必要はない
5。 INT GCD1(int型int型B )
 。6  {
 7。     INT R&LT;
 8。     一方、(B> 0 ){
 9。          R&LT =%のB、
 10          A = B;
 11。          B = R&LT;
 12である     }
 13が     返す;
 14  }
 15  
16  // 方法2:再帰アルゴリズムを使用して
17  INTgcd2(INT A、INT B)
 18  {
 19      リターン(B> 0)?gcd2(B、%のB)。
20  }
 21  
22  
23  INTメイン(int型 ARGC、CHAR * ARGV [])
 24  {
 25      int型A、B、RES。
26      一方、1 ){
 27          のprintf(" を入力してください2 intergers:の\ n " );
28          のscanf(" %D%dの"、&​​、&B)。
29         printf(" A =%のD、B =%d個の\ n " 、B)。
30の         
31          RES = gcd1(B)
32          のprintf(" gcd1:%dと%Dの最大公約数である:%Dを\ n " 、A、B、RES)。
33の 
34          RES = gcd2(B)
35          のprintf(" gcd2:%dと%Dの最大公約数である:%Dを\ n " 、A、B、RES)。
36          
37      }
 38 }

 

スクリーンショットの業績

 

おすすめ

転載: www.cnblogs.com/shanyu20/p/10943853.html