A51632. (最大公约数之和)下列程序想要求解整数 n 的所有约数两两之间最大公约数的和对10007 求余后的值,试补全程序。举例来说,4 的所有约数是 1,2,4。1 和 2 的最大公约数为 1;2 和 4 的最大公约数为 2;1 和 4 的最大公约数为 1。于是答案为 1 + 2 + 1 = 4。要求 getDivisor 函数的复杂度为 O(√n),gcd 函数的复杂度为O(log max(a,b))…
填空题
较易
知识点
题目描述
(最大公约数之和)下列程序想要求解整数 n 的所有约数两两之间最大公约数的和对10007 求余后的值,试补全程序。
举例来说,4 的所有约数是 1,2,4。1 和 2 的最大公约数为 1;2 和 4 的最大公约数为 2;1 和 4 的最大公约数为 1。于是答案为 1 + 2 + 1 = 4。
要求 getDivisor 函数的复杂度为 O(√n),gcd 函数的复杂度为O(log max(a,b))。
例如:

参考答案
<p>1.i * i</p><p><br/></p><p>2.n / i</p><p><br/></p><p>3.return a</p><p><br/></p><p>4.a % b</p><p><br/></p><p>5.ans + gcd(a[i], a[j])</p>
上一题
下一题