#include"stdio.h"// 递归方式求最大公因数int recursionGCD(int a,int b);// 迭代方式求最大公因数int iterationGCD(int a,int b);int main(){ int a=10; printf("%d\n",recursionGCD(24,16));}int iterationGCD(int a,int b){ int temp; a=a>b?a:b; b=a>b?b:a; while(b!=0) { temp=a%b; a=b; b=temp; } return a;}// 递归的方法注重返回值的应用int recursionGCD(int a,int b){ a=a>b?a:b; b=a>b?b:a; if(a%b==0) return b; else return recursionGCD(b,a%b);}
这是辗转相除法的递归与迭代,求公约数的方法还有更相减损法。