1 条题解
发布要求:学生须先通过本题;教师和管理员可直接维护官方内容。内容应说明核心思路、关键步骤、正确性理由和复杂度。 只粘贴代码不会通过审核。
你尚未通过该题,通过后才能发布题解。
-
0
01|2025-03-L5-SC-05
学生训练答案:D
原卷事实
四项均给出乘积分解。
必要假设
要求因子全部为质数。
C++11 / 算法语义
只有2、3、5均为质数且乘积为30。
命题预期
选择D。
推导结论
训练答案D。
02|2025-06-L5-TF-01
学生训练答案:T
原卷事实
代码循环执行a%b并交换角色。
必要假设
a、b为正整数。
C++11 / 算法语义
无论初始a与b大小,余数递减并最终在b==0时返回最大公约数。
命题预期
判断为真。
推导结论
学生训练答案T。
03|2025-06-L5-SC-08
学生训练答案:B
原卷事实
题目询问唯一分解定理。
必要假设
唯一性忽略质因数排列顺序。
C++11 / 算法语义
每个大于1的整数都可唯一分解为质数乘积;对合数的B表述成立。
命题预期
选择B。
推导结论
学生训练答案B。
04|2025-12-L5-SC-04
学生训练答案:D
原卷事实
a-b=24。
必要假设
模数m取正整数。
C++11 / 算法语义
a与b模m同余等价于m整除24。
命题预期
3、4、6均整除24,9不整除。
推导结论
训练答案D。
05|2025-12-L5-SC-05
学生训练答案:D
原卷事实
gcd1递归,gcd2循环。
必要假设
比较相同有效输入和普通实现开销。
C++11 / 算法语义
两者渐近时间相同,递归还使用调用栈,不能据此保证更高效率。
命题预期
D是错误说法。
推导结论
训练答案D。
06|2025-12-L5-SC-06
学生训练答案:B
原卷事实
题目询问算术基本定理。
必要假设
不计质因数排列次序。
C++11 / 算法语义
大于1的整数具有唯一的质因数分解。
命题预期
选择B。
推导结论
训练答案B。
07|2026-03-L5-SC-04
学生训练答案:A
原卷事实
每次递归参数变为(b,a%b)。
必要假设
正整数输入。
C++11 / 算法语义
48%18=12,18%12=6,12%6=0。
命题预期
A给出完整调用序列。
推导结论
训练答案A。
08|2025-03-L5-TF-03
学生训练答案:T
原卷事实
题目比较线性筛与埃氏筛。
必要假设
按标准线性筛实现。
C++11 / 算法语义
线性筛通过最小质因数约束使每个合数只被生成一次,总复杂度O(n)。
命题预期
判断为真。
推导结论
训练答案T。
09|2025-03-L5-SC-04
学生训练答案:B
原卷事实
代码先令big=84、small=60,再递归gcd(60,24)。
必要假设
把初始参数对视为第一步,第一次递归参数对视为第二步。
C++11 / 算法语义
84 mod 60=24,所以第二层参数为60和24。
命题预期
官方以递归参数对计步。
推导结论
训练答案B;解析显著说明计步约定。
10|2025-06-L5-TF-02
学生训练答案:T
原卷事实
函数返回a*b/gcd(a,b),官方答案T。
必要假设
a*b在int中可表示,gcd非零。
C++11 / 算法语义
对正整数,lcm(a,b)=a*b/gcd(a,b);但先乘后除在int溢出时行为未定义。
命题预期
命题预期忽略溢出边界判断为真。
推导结论
学生训练答案T;显著标注乘积可表示的必要前提。
11|2025-06-L5-TF-03
学生训练答案:F
原卷事实
代码试图把整数j加入vector<int>,写成prime_factor[i] = prime_factor[i] + j。
必要假设
按原卷代码逐字解释。
C++11 / 算法语义
标准vector<int>没有与int相加的operator+,代码不能通过C++11编译,因而不能产生题述输出。
命题预期
判断为假。
推导结论
学生训练答案F。
12|2025-06-L5-SC-06
学生训练答案:D
原卷事实
gcd0使用辗转相除,gcd1从small向下枚举公因数。
必要假设
两个输入为正整数。
C++11 / 算法语义
欧几里得算法为对数级,逆序枚举最坏线性;若把循环改为i>1,互质时会漏掉公约数1并仍靠末尾return 1,输出虽未变但“应该修改”不成立。
命题预期
错误说法D。
推导结论
学生训练答案D。
13|2025-06-L5-SC-07
学生训练答案:D
原卷事实
题目把逐数试除与两种筛法比较。
必要假设
按标准埃氏筛和线性筛实现。
C++11 / 算法语义
逐数试除有重复工作;埃氏筛和线性筛更适合生成区间素数。线性筛为O(n),不能笼统说埃氏筛比线性筛效率更高。
命题预期
错误说法D。
推导结论
学生训练答案D。
14|2025-09-L5-TF-01
学生训练答案:T
原卷事实
代码对n和其十进制字符串数位和分别取模9。
必要假设
按非负十进制整数,to_string中无负号。
C++11 / 算法语义
非负n与n的数位和对9同余,两个判定一致;负数字符串需额外处理'-'。
命题预期
命题预期T。
推导结论
训练答案T;解析显示非负假设。
15|2025-09-L5-TF-02
学生训练答案:F
原卷事实
原卷函数声明为void,代码写return patternLength,且卷面行末显示全角分号。
必要假设
不静默修正返回类型或标点。
C++11 / 算法语义
该代码不是合法C++11函数;即使改为int并修正分号,表达式返回lcm(4,6)=12,不是2。
命题预期
判断为F。
推导结论
训练答案F,原卷代码完整保真。
16|2025-09-L5-SC-05
学生训练答案:B
原卷事实
循环执行辗转相除。
必要假设
输入为正整数。
C++11 / 算法语义
终止时b==0,a保存gcd。
命题预期
选择B。
推导结论
训练答案B。
17|2025-09-L5-TF-06
学生训练答案:T
原卷事实
题目给出每个合数只由最小质因子筛一次的不变式。
必要假设
按标准线性筛实现。
C++11 / 算法语义
每个合数仅生成一次,总复杂度O(n)。
命题预期
判断为T。
推导结论
训练答案T。
18|2025-09-L5-SC-08
学生训练答案:B
原卷事实
题目比较理论复杂度与常数表现。
必要假设
按常见数组实现与给定范围。
C++11 / 算法语义
线性复杂度不直接推出实测必然更快;埃氏筛常数可更小。
命题预期
错误项B。
推导结论
训练答案B。
19|2025-09-L5-SC-09
学生训练答案:B
原卷事实
题目询问唯一分解定理。
必要假设
按正整数范围。
C++11 / 算法语义
每个大于1的整数可唯一分解为素数幂之积,忽略因子顺序。
命题预期
选择B。
推导结论
训练答案B。
20|2025-12-L5-TF-02
学生训练答案:T
原卷事实
代码返回a/gcd(a,b)*b。
必要假设
a、b为正且中间结果与最小公倍数均可由int表示。
C++11 / 算法语义
先除后乘在数学上等于a*b/gcd,能减少但不能消除溢出风险。
命题预期
命题在常规可表示输入范围取真。
推导结论
训练答案T;解析显著列出int可表示前提。
21|2025-12-L5-TF-04
学生训练答案:F
原卷事实
题面用“都应当优先”作绝对判断。
必要假设
比较标准实现。
C++11 / 算法语义
渐近界较低不等于在所有规模、常数、内存与实现条件下都优先。
命题预期
绝对化结论为假。
推导结论
训练答案F。
22|2026-03-L5-SC-05
学生训练答案:C
原卷事实
内层访问primes[j]。
必要假设
j必须始终小于primes.size()。
C++11 / 算法语义
标准线性筛遍历已有素数并按最小质因数停止。
命题预期
选择C。
推导结论
训练答案C。
23|2026-03-L5-SC-06
学生训练答案:C
原卷事实
i为当前未筛除质数。
必要假设
(long long)i*i可表示。
C++11 / 算法语义
i*k且k<i的倍数已在处理更小质因子时标记。
命题预期
选择C。
推导结论
训练答案C。
24|2026-03-L5-TF-06
学生训练答案:T
原卷事实
题面限定n>1。
必要假设
平方根按实数边界。
C++11 / 算法语义
若n合数,则至少有一个质因子不超过sqrt(n);其逆否命题成立。
命题预期
判断为真。
推导结论
训练答案T。
25|2026-03-L5-TF-09
学生训练答案:F
原卷事实
题面把唯一标记者写为最大质因子。
必要假设
按标准欧拉筛。
C++11 / 算法语义
线性筛使每个合数由其最小质因数路径标记一次,不是最大质因子。
命题预期
判断为假。
推导结论
训练答案F。
26|2026-06-L5-TF-03
学生训练答案:T
原卷事实
两函数都执行欧几里得算法。
必要假设
a、b为正整数。
C++11 / 算法语义
递归版与循环版均迭代(a,b)->(b,a%b)直至b=0。
命题预期
判断为T。
推导结论
训练答案T。
27|2026-06-L5-SC-04
学生训练答案:B
原卷事实
代码递归为gcd(b,a%b)。
必要假设
输入为105和45。
C++11 / 算法语义
105%45=15,45%15=0。
命题预期
选项B。
推导结论
训练答案B。
28|2026-06-L5-SC-06
学生训练答案:B
原卷事实
题目询问埃氏筛基本过程。
必要假设
按标准埃氏筛。
C++11 / 算法语义
从素数出发标记其倍数;同一合数可能被多次遇到。
命题预期
选项B。
推导结论
训练答案B。
29|2026-06-L5-SC-08
学生训练答案:C
原卷事实
循环在n能被2整除时计数并除以2。
必要假设
n初值40。
C++11 / 算法语义
40=2³×5,循环三次。
命题预期
选项C。
推导结论
训练答案C。
30|2026-06-L5-TF-09
学生训练答案:T
原卷事实
题目陈述唯一分解定理。
必要假设
自然数大于1且忽略质因子顺序。
C++11 / 算法语义
质因数分解存在且唯一。
命题预期
判断为T。
推导结论
训练答案T。
31|2025-03-L5-SC-06
学生训练答案:C
原卷事实
内层循环访问primes[j]并标记i*primes[j]。
必要假设
n为非负且容器按代码初始化。
C++11 / 算法语义
必须先保证j未越界,再保证乘积不超过n;&&从左到右短路。
命题预期
C同时满足两个边界。
推导结论
训练答案C。
32|2025-06-L5-SC-05
学生训练答案:C
原卷事实
代码先特判2、3、5,再排除2、3、5的倍数,并按7、11、13、17等序列试除。
必要假设
输入为题干所述正整数,sqrt可用。
C++11 / 算法语义
大于3的质数必为6k±1;只需检查不超过sqrt(n)的可能质因数。D改为逐一试除虽可判定,但执行时间不同。
命题预期
选择C。
推导结论
学生训练答案C。
33|2025-06-L5-TF-10
学生训练答案:T
原卷事实
代码按primes递增枚举并在i%primes[j]==0时break。
必要假设
n使i*primes[j]可在int中表示,容器分配成功。
C++11 / 算法语义
break保证每个合数由最小质因数对应的组合首次筛去,总工作量线性。若乘积溢出则标准不保证。
命题预期
命题预期判断为真。
推导结论
学生训练答案T;显著标注乘积可表示的输入前提。
34|2025-09-L5-SC-04
学生训练答案:B
原卷事实
代码按因子对累加真因子。
必要假设
命题默认i*i在int可表示范围内。
C++11 / 算法语义
枚举到sqrt(n)即可;i*i在超出int时会涉及有符号溢出。
命题预期
命题预期B。
推导结论
训练答案B;解析保留输入边界假设。
35|2025-09-L5-SC-06
学生训练答案:D
原卷事实
外层遍历i,内层标记i的倍数。
必要假设
命题默认i*i与n+1均未发生int溢出。
C++11 / 算法语义
小于i*i的i倍数已由更小因子标记,可从i*i开始;超范围时应用更安全边界。
命题预期
命题预期D。
推导结论
训练答案D;解析明示整型边界假设。
36|2025-09-L5-SC-07
学生训练答案:A
原卷事实
代码用已知素数p标记p*i。
必要假设
输入n在乘法安全范围。
C++11 / 算法语义
当p整除i时停止,保证合数由最小质因子生成一次。
命题预期
选择A。
推导结论
训练答案A。
37|2025-12-L5-SC-07
学生训练答案:A
原卷事实
内层应从primes[0]起并在乘积超过n时停止。
必要假设
i*primes[j]在int中可表示,且n至少为2。
C++11 / 算法语义
结合整除时break,每个合数由最小质因数路径标记。
命题预期
A给出标准线性筛边界。
推导结论
训练答案A;解析提示乘积可表示前提。
38|2026-06-L5-SC-05
学生训练答案:A
原卷事实
代码以primes[j]*i标记合数。
必要假设
n与乘法在int安全范围。
C++11 / 算法语义
当primes[j]整除i时停止,保证每个合数只由最小质因子筛到。
命题预期
选项A。
推导结论
训练答案A。
- 1
信息
- ID
- 83
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 轻松上手
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者