文章目录

  • 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. 算术基本定理之统计质因子个数———以及因子的个数

    算术基本定理,又称为正整数的唯一分解定理,即:每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式. 例如 90=2 * 3^2 * 5: 1 我们要做的就是找到90的所 ...

  2. 牛客多校4 - Basic Gcd Problem(预处理质因子的个数)

    题目链接:点击查看 题目大意:给出一个函数,有 t 次询问,每次询问给出相应的参数,要求计算函数值 题目分析:打个表不难将函数化简为: ,x 为 n 中的质因子个数,而质因子的个数可以 n * sqr ...

  3. 等式(分解质因子求因子个数)

    链接: https://www.nowcoder.com/acm/contest/90/F 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

  4. 2022杭电多校九 1008-Shortest Path in GCD Graph(质因子+容斥)

    题目链接:杭电多校九 - Virtual Judge 题目: 样例输入: 6 2 4 5 3 6 样例输出: 1 1 2 2 题意:给定n个点的完全图,两个点之间的距离为他们的gcd,q次询问,每次询 ...

  5. hdu 5428(分解质因子)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5428 题意:给你N个数,让你求出这N个数最小的因子之积,但要满足一个条件,那就是这个乘积必须包含三个因 ...

  6. HDU - 7073 Integers Have Friends 2.0 随机化 + 质因子

    传送门 文章目录 题意: 思路: 题意: 给你一个序列aaa,找一个最大的集合,集合中所有元素模mmm相等. 思路: 之前做过一道连续的,直接尺取就好,这个不连续加大了难度. 考虑最简单的情况m=2m ...

  7. `Computer-Algorithm` 数论基础知识 (同余,取模,快速幂,质数,互质,约数,质因子)

    catalog 同余 取模 快速幂 质数 互质 约数 质因子 @Delimiter(旧解释) 经验谈 两数之差也整除 加一的特殊性 取模 累加的周期性 取模的唯一集合 取模下的四则运算 除法的不可约性 ...

  8. 搞懂质数,质因子,互质,最大公约数,最小公倍数.

    1.质数: 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 借鉴y总的代码: bool is_prime(int n){     if(n<2)  return fals ...

  9. 求n!中含有质因子p的个数

    定理:  中含有质因子p的个数为  ,其中  int cal(int n, int p) {int ans = 0;while (n != 0) {ans += n / p;n /= p; //相当与 ...

最新文章

  1. Spring boot 嵌入的tomcat不能启动: Unregistering JMX-exposed beans on shutdown
  2. struts2入门(搭建环境、配置、示例)
  3. python代码覆盖率怎么统计的_Python代码覆盖率统计工具coverage.py用法详解
  4. Java8 拼接字符串 StringJoiner
  5. Linux Shell脚本_历史命令显示操作时间
  6. php 静态页面模板类,dedetag.class.php 静态模板类
  7. c++如何打印一维数组首地址_4.1 数组的定义
  8. .net项目引用ActiveX控件注意点
  9. string字符串的查找替换、模式匹配
  10. Java里什么是面向对象?
  11. Docker---DockerFile搭建的最简单的jsp应用
  12. PHP UTF-8转GBK
  13. 所有的I/O端口都是兼容CMOS和TTL 表示什么意思
  14. 支付宝小程序、百度小程序、微信小程序、今日头条小程序技术分析
  15. Matplotlib绘制自定义函数曲线
  16. Springboot实验室自主预约系统毕业设计源码111953
  17. 链家地产-Java工程师面试
  18. 基于LabVIEW的基带NRZ矩形波形产生模块以及二进制数字调制系统(2ASK、2FSK、2PSK)以及抗噪声分析(含工程源码、设计报告)
  19. 北漂12年,洋哥为什么这么重视认知?
  20. R语言EG(Engle-Granger)两步法协整检验、RESET、格兰杰因果检验、VAR模型分析CPI和PPI时间序列关系...

热门文章

  1. 一文看懂yolov7;yolov7详解
  2. Ubuntu20.04安装英伟达驱动步骤
  3. 探访故宫火锅店:到底有多火?
  4. IM服务器检测客户端心跳
  5. Java 控制台生成标题大字母图案
  6. 智能驾驶ADAS算法设计及Prescan仿真(1): 前向碰撞预警FCW算法设计与simulink仿真
  7. 相空间重构matlab实现
  8. 通过一个App Demo的演示深入理解区块链运行原理
  9. 图片处理工具怎么处理图片?图片编辑工具怎么用?
  10. VMware虚拟机黑屏死机解决方法