质因子个数————质因子分解
文章目录
- 1 题目
- 2 解析
- 3 参考代码
1 题目
质因子个数
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
一个正整数可以分解成一个或多个数组的积。例如36=223*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。
输入描述:
输入包括多组数据。
每组数据仅有一个整数n (2≤n≤100000)。
输出描述:
对应每个整数,输出其因子个数,每个结果占一行。
输入例子:
30
26
20
输出例子:
3
2
2
2 解析
先把素数表打印出来,然后再进行质因子分解操作。
- 对n==1,进行特判输出“1=1”;
- 对于int范围的正整数进行质因子分解,素数表开到105大小就可以了。
3 参考代码
#include <cstdio>
#include <cmath>struct factor{int x;int cnt;
}fac[10];const int MAXN = 100010;
int prime[MAXN], pNum = 0;
bool p[MAXN] = {false};void findPrime(){for (int i = 2; i < MAXN; ++i) {if(p[i] == false){prime[pNum++] = i;for (int j = i + i; j < MAXN; j += i) {p[j] = true;}}}
}int main(int argc, char const *argv[]){findPrime();int n;while(scanf("%d", &n) != EOF){int N = n;int num = 0;//不同质因子的个数int sqr = (int)sqrt(n*1.0);for (int i = 0; i < pNum && prime[i] <= sqr; ++i) {if(n % prime[i] == 0){//如果prime[i]是n的质因子fac[num].x = prime[i];fac[num].cnt = 0;while(n % prime[i] == 0){//计算质因子prime[i]个数fac[num].cnt++;n /= prime[i];}num++;//不同的质因子个数加1}if(n == 1) break;}if(n != 1){fac[num].x = n;fac[num++].cnt = 1;}printf("%d\n", num); //打印个数}return 0;
}
质因子个数————质因子分解相关推荐
- 算术基本定理之统计质因子个数———以及因子的个数
算术基本定理,又称为正整数的唯一分解定理,即:每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式. 例如 90=2 * 3^2 * 5: 1 我们要做的就是找到90的所 ...
- 牛客多校4 - Basic Gcd Problem(预处理质因子的个数)
题目链接:点击查看 题目大意:给出一个函数,有 t 次询问,每次询问给出相应的参数,要求计算函数值 题目分析:打个表不难将函数化简为: ,x 为 n 中的质因子个数,而质因子的个数可以 n * sqr ...
- 等式(分解质因子求因子个数)
链接: https://www.nowcoder.com/acm/contest/90/F 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...
- 2022杭电多校九 1008-Shortest Path in GCD Graph(质因子+容斥)
题目链接:杭电多校九 - Virtual Judge 题目: 样例输入: 6 2 4 5 3 6 样例输出: 1 1 2 2 题意:给定n个点的完全图,两个点之间的距离为他们的gcd,q次询问,每次询 ...
- hdu 5428(分解质因子)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5428 题意:给你N个数,让你求出这N个数最小的因子之积,但要满足一个条件,那就是这个乘积必须包含三个因 ...
- HDU - 7073 Integers Have Friends 2.0 随机化 + 质因子
传送门 文章目录 题意: 思路: 题意: 给你一个序列aaa,找一个最大的集合,集合中所有元素模mmm相等. 思路: 之前做过一道连续的,直接尺取就好,这个不连续加大了难度. 考虑最简单的情况m=2m ...
- `Computer-Algorithm` 数论基础知识 (同余,取模,快速幂,质数,互质,约数,质因子)
catalog 同余 取模 快速幂 质数 互质 约数 质因子 @Delimiter(旧解释) 经验谈 两数之差也整除 加一的特殊性 取模 累加的周期性 取模的唯一集合 取模下的四则运算 除法的不可约性 ...
- 搞懂质数,质因子,互质,最大公约数,最小公倍数.
1.质数: 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 借鉴y总的代码: bool is_prime(int n){ if(n<2) return fals ...
- 求n!中含有质因子p的个数
定理: 中含有质因子p的个数为 ,其中 int cal(int n, int p) {int ans = 0;while (n != 0) {ans += n / p;n /= p; //相当与 ...
最新文章
- Spring boot 嵌入的tomcat不能启动: Unregistering JMX-exposed beans on shutdown
- struts2入门(搭建环境、配置、示例)
- python代码覆盖率怎么统计的_Python代码覆盖率统计工具coverage.py用法详解
- Java8 拼接字符串 StringJoiner
- Linux Shell脚本_历史命令显示操作时间
- php 静态页面模板类,dedetag.class.php 静态模板类
- c++如何打印一维数组首地址_4.1 数组的定义
- .net项目引用ActiveX控件注意点
- string字符串的查找替换、模式匹配
- Java里什么是面向对象?
- Docker---DockerFile搭建的最简单的jsp应用
- PHP UTF-8转GBK
- 所有的I/O端口都是兼容CMOS和TTL 表示什么意思
- 支付宝小程序、百度小程序、微信小程序、今日头条小程序技术分析
- Matplotlib绘制自定义函数曲线
- Springboot实验室自主预约系统毕业设计源码111953
- 链家地产-Java工程师面试
- 基于LabVIEW的基带NRZ矩形波形产生模块以及二进制数字调制系统(2ASK、2FSK、2PSK)以及抗噪声分析(含工程源码、设计报告)
- 北漂12年,洋哥为什么这么重视认知?
- R语言EG(Engle-Granger)两步法协整检验、RESET、格兰杰因果检验、VAR模型分析CPI和PPI时间序列关系...