下面代码实现了欧几里得算法。下面有关说法,错误的是( )。
int gcd1(int a, int b) { return b == 0 ? a : gcd1(b, a % b); } int gcd2(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; }
gcd1() 实现为递归方式。
gcd1()
gcd2() 实现为迭代方式。
gcd2()
当 aaa 较大时,gcd1() 实现会多次调用自身,需要较多额外的辅助空间。
当 aaa 较大时,gcd1() 的实现比 gcd2() 执行效率更高。