解题思路:基本的质因数分解。
注意事项:第一遍写的时候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语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1413 |
程序员的表白 (C语言代码)浏览:706 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |
DNA (C语言描述,数据结构)浏览:909 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:580 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:645 |
字符逆序 (C语言代码)浏览:645 |
数组与指针的问题浏览:760 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:636 |