正在载入在线练习界面,本页内容可直接阅读…
AK CSP › NOIP 普及 2013 第一轮真题 › 第 15 题
NOIP 普及 2013 第一轮 第 15 题:欧几里得算法计算最大公约数
题目
下面是根据欧几里得算法编写的函数,它所计算的是 $a$ 和 $b$ 的( )。
int euclid(int a, int b)
{
if (b == 0)
return a;
else
return euclid(b, a % b);
}选项
- A. 最大公共质因子
- B. 最小公共质因子
- C. 最大公约数
- D. 最小公倍数
答案
C
题解
考点定位
本题考「欧几里得算法」,对应大纲 2.1.3 初等数论(难度【2】)。
解题过程
euclid 辗转相除:gcd(a,b) = gcd(b, a mod b),计算的是最大公约数。
选 C。
易错提醒
① 递归出口 b==0 返回 a;② 时间 O(log min(a,b))——斐波那契相邻项是最坏输入。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号