解题思路:基本的质因数分解。
注意事项:第一遍写的时候i从2开始。一次加1,但最后有一部分数据点超时间了。其实如果能判断奇偶性的话,能省去很多麻烦。因为偶数除了2以外,其他都不可能为质数。所以把i初值设为3,一次+2,偶数的情况另外判断。
参考代码:
n = int(input())
ans = 0
i = 3
if n%2==0:
ans+=1
while n%2==0:
n=n/2
while i*i<=n:
if n%i==0:
ans+=1
while n%i==0:
n//=i
i+=2
if n>1:
ans+=1
print(ans)
0.0分
6 人评分
【简单计算】 (C语言代码)浏览:622 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1090 |
用筛法求之N内的素数。 (C++代码)浏览:692 |
完数 (C语言代码)浏览:685 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:533 |
Quadratic Equation (C语言代码)浏览:988 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:467 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:484 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:549 |
简单的a+b (C语言代码)浏览:462 |