补全:模减法防负数

补全 msub:+p 再取模保证非负。补全后输出 msub(3, 5, 7)。 本节模型:madd / mmul / msub 模意义下加乘减(先取模防溢出、减法 +p 防负),fact_mod(n, p) 边乘边取模求 n!。 (本题用

开始练习 →

补全:阶乘边乘边取模

补全 fact_mod:循环里用模乘累积。补全后输出 10! mod 1000。 本节模型:madd / mmul / msub 模意义下加乘减(先取模防溢出、减法 +p 防负),fact_mod(n, p) 边乘边取模求 n!。 (本题用

开始练习 →

质因数分解是什么

第 1 步:从 360 开始,除数从 2 试起 第 2 步:能被 2 整除:除掉,记下 2 第 3 步:能被 2 整除:除掉,记下 2 第 4 步:能被 2 整除:除掉,记下 2 第 5 步:能被 3 整除:除掉,记下 3 第 6 步:能被

开始练习 →

试除分解试到哪就够

试除法分解质因数,除数试到【0】就够,剩下的若大于 1 也是一个质因数。 本节模型:factorize(n) 试除分解质因数,n_distinct(n) 数不同的质因数。

开始练习 →

360 的质因数

运行下面这段程序: 本节模型:factorize(n) 试除分解质因数,n_distinct(n) 数不同的质因数。 #include <iostream> #include <string> #include &l

开始练习 →

lcm(12, 18) 是多少

运行下面这段程序: 本节模型:my_gcd(a, b) 辗转相除求最大公约数,my_lcm(a, b) = a / gcd * b 求最小公倍数。 #include <iostream> #include <string&

开始练习 →

补全:同一质因数除到底

补全 factorize:同一个质因数要一直除到除不尽。补全后分解 8。 本节模型:factorize(n) 试除分解质因数,n_distinct(n) 数不同的质因数。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

补全:收尾的大质因数

补全 factorize:循环结束后若剩下的 n 大于 1,它本身就是质因数。补全后分解 2。 本节模型:factorize(n) 试除分解质因数,n_distinct(n) 数不同的质因数。 (本题用 g++ -std=c++17 -O0

开始练习 →

补全:不同质因数要去重

补全 n_distinct:相同的质因数只数一次。补全后输出 360 有几个不同的质因数。 本节模型:factorize(n) 试除分解质因数,n_distinct(n) 数不同的质因数。 (本题用 g++ -std=c++17 -O0 编

开始练习 →

补全:lcm 先除后乘

补全 my_lcm:先除 gcd 再乘。补全后输出 lcm(9, 6)。 本节模型:my_gcd(a, b) 辗转相除求最大公约数,my_lcm(a, b) = a / gcd * b 求最小公倍数。 (本题用 g++ -std=c++17

开始练习 →