参考記事
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 }
スクリーンショットの業績