质因数分解
时间:2021-08-09
本文章向大家介绍质因数分解,主要包括质因数分解使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
算术基本定理:任何一个大于1的自然数都能唯一分解为有限个质数的乘积。
\[N=p^{c_1}_1 p^{c_2}_2 \cdots p^{c_m}_m \\
p_1 <p_2<\cdots<p_m(p_i为质数) \\ c_i为非负整数数
\]
证明
https://baike.baidu.com/item/算术基本定理/10920095?fr=aladdin
见百度百科。。自己也看得不是很懂
质因数分解
1.试除法
我们可以扫苗2~$\lfloor \sqrt n \rfloor $的每个数d,若d能整除n,则在n中不断除去d,直至除去所有的因子d,同时记录除去d的个数。
因为每个合数的非质因子在骚猫到这个数之前就已经从n中除去了,所以上述能整除n的一定是质数。
int c[10000], p[10000];
int cnt;
inline void divide(int n) {
cnt = 0;
int t = sqrt(n);
rep(i, 2, t) {
if(n % i == 0) {//i是质数
p[++cnt] = i, c[cnt] = 0;
while(n % i == 0) n /= i, c[cnt]++;
}
}
if(n > 1) p[++cnt]=n,c[cnt]=1;//未分解完,那么剩下的也是个质数
rep(i,1,cnt) printf("%d^%d\n",p[i],c[i]);
}
时间复杂度\(O(\sqrt n )\)
2.Pollard Rho
本文来自博客园,作者:{2519},转载请注明原文链接:https://www.cnblogs.com/QQ2519/p/15046904.html
原文地址:https://www.cnblogs.com/QQ2519/p/15046904.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 「MoreThanJava」Day 7:接口详解
- Python 基础(十一):面向对象
- 使用tensorflow进行音乐类型的分类
- Mac安装brew 及安装报错的解决办法【已解决】
- 为什么要停止过度使用置换重要性来寻找特征
- 5个可以帮助pandas进行数据预处理的可视化图表
- 聊聊dubbo-go的leastActiveLoadBalance
- 聊聊dubbo-go的randomLoadBalance
- 聊聊dubbo-go的roundRobinLoadBalance
- PowerBI 不同日期区间的活动逐日对比分析
- flask SQLAlchemy查询数据库最近30天,一个月,一周,12小时或之前的数据
- TypeScript是什么,为什么要使用它?
- Python 基础(十):模块与包
- 谷歌浏览器一些https打不开点击高级不行的解决办法
- CV入门赛最全思路&上分技巧汇总!