csppass
连续 00 XP登录 / 注册
202516判断题初等数论普及/提高

程序(一):当输入为 2 时是否会执行判断语句

题目

阅读下面的程序,回答问题。 inline int gcd(int a, int b){ if (b == 0) return a; return gcd(b, a % b); } int main(){ int n; scanf("%d", &n); int ans = 0; for (int i = 1; i <= n; ++i) for (int j = i + 1; j <= n; ++j) for (int k = j + 1; k <= n; ++k) if (gcd(i, j) == 1 && gcd(j, k) == 1 && gcd(i, k) == 1) ++ans; printf("%d\n", ans); } 判断题(1 分):当输入为 2 时,程序并不会执行三重循环内部的 if 判断语句。( 填 √ 或 × )

考点拆解
gcd 求最大公约数的递归写法(辗转相除法)
三重循环枚举组合并逐一判断条件
易错提醒
阅读程序题要按变量变化顺序手推,不要跳步
选择题要检查单位、边界和题目中的否定词