| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【算法竞赛模板】质因子、质数、约数、余数、快速幂(数论大全) -> 正文阅读 |
|
[数据结构与算法]【算法竞赛模板】质因子、质数、约数、余数、快速幂(数论大全) |
一、质因子??定义: 指能整除给定正整数的质数
? 二、质数?定义: 一个正整数无法被除1和它自身以外的自然数整除则为质数
👉例题: 点这里
? 三、约数?定义: 可表示为 N =
P
1
α
1
?
P
2
α
2
?
P
3
α
3
?
?
?
P
k
α
k
P_{1}^{α_{1}} · P_{2}^{α_{2}} · P_{3}^{α_{3}} ··· P_{k}^{α_{k}}
P1α1???P2α2???P3α3?????Pkαk??,使得 a 能被 b 整除,则 b 称为 a 的约数
① 试除法求一个数所有约数
? ② 求约数个数约数个数为:
(
a
1
+
1
)
?
(
a
2
+
1
)
?
?
?
(
a
k
+
1
)
(a_{1} + 1)·(a_{2} + 1)···(a_{k} + 1)
(a1?+1)?(a2?+1)???(ak?+1)
③ 求约数和约数之和为:
(
P
1
0
+
P
1
1
+
P
1
2
+
?
?
?
P
2
k
)
?
(
P
2
0
+
P
2
1
+
P
2
2
+
?
?
?
P
2
k
)
?
?
?
(
P
k
0
+
P
k
1
+
P
k
2
+
?
?
?
P
k
k
)
(P_{1}^0+P_{1}^1+P_{1}^2+ ··· P_{2}^k)·(P_{2}^0+P_{2}^1+P_{2}^2+ ··· P_{2}^k)···(P_{k}^0+P_{k}^1+P_{k}^2+ ··· P_{k}^k)
(P10?+P11?+P12?+???P2k?)?(P20?+P21?+P22?+???P2k?)???(Pk0?+Pk1?+Pk2?+???Pkk?)
? ④ 求最大公约数<1> gcd辗转相除我们一般用 gcd辗转相除法(欧几里得算法),C++可以用STL自带两条下划线的 __gcd(int num1, int num2),时间复杂度为O(logn)
<2> 扩展欧几里得定义: 在求得a、b的最大公约数的同时,能找到整数x、y(其中一个很可能是负数),使它们满足贝祖等式 a x + b y = g c d ( a , b ) ax + by = gcd(a, b) ax+by=gcd(a,b)
👇例题
? 四、余数?定义: 余数是整数,指整数除法中被除数未被除尽部分 五、快速幂?时间复杂度: O(logn)
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 16:43:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |