Gcd(最大公约数)

xiaoxiao2021-02-28  69

一·辗转相除法

(1)迭代实现

int Gcd(int a,int b) { while(b != 0) { int r = b; b = a%b; a = r; } return a; }

(2)递归实现

int Gcd(int a,int b) { if(b == 0) return a; return Gcd(b,a%b); }

二·更相减损法

int Gcd(int a,int b) { while(a != b) { if( a>b ) a -= b; else b -= a; } return a; }

区别:辗转相除法比更相减损法效率更高,所用时间更少。

转载请注明原文地址: https://www.6miu.com/read-67425.html

最新回复(0)