质因数的个数 - 九度教程第54题

该博客介绍了如何计算正整数N(N>1)的质因数个数,包括题目描述、输入输出要求以及解题思路。通过素数筛法筛选素数,并通过试除确定质因数及其幂指数,最后统计所有质因数的个数。示例展示了对于120的质因数个数为5。博客还解释了为何只需要筛选到100000的素数即可,并指出素因数个数的组合公式。
摘要由CSDN通过智能技术生成

质因数的个数 - 九度教程第54题

题目

时间限制:1 秒 内存限制:32 兆 特殊判题:否
题目描述:
求正整数 N(N>1)的质因数的个数。
相同的质因数需要重复计算。如 120=22235,共有 5 个质因数。
输入:
可能有多组测试数据,每组测试数据的输入是一个正整数 N,(1<N<10^9)。
输出:
对于每组数据,输出 N 的质因数的个数。
样例输入:
120
样例输出:
5
提示:
注意:1 不是 N 的质因数;若 N 为质数,N 是 N 的质因数。
来源:
2007 年清华大学计算机研究生机试真题

对一个数x分解素因数即确定素数p1,p2…pn,使其满足下式:
在这里插入图片描述
必要时还要确定e1,e2等幂指数。本题即求e1,e2,…en的和。

利用素数筛法预先筛选出所有可能在题面所给数据范围内成为素因数的素数。并在程序输入待处理数字n时,依次遍历所有小于n的素数,判断其是否为n的因数。若确定某素数为n的因数,则通过试除确定其对应的幂指数。最后求出各个幂指数的和即为所求。

#include <stdio.h>

bool mark[100001];
i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值