研究了一下 发现代码简化后 可不用判断质数的函数 效率可以更高 代码更简单 如下
供参考
#include
int get_num(int a)
{
int ret = 0;
int i;
while(a!=1)
{
for(i = 2; i <= a; i ++)
{
if(a%i) continue;
ret ++;
a/=i;
break;
}
}
return ret;
}
int main()
{
int a;
int i;
int cnt[2]={0};
scanf("%d", &a);
for(i = 2; i <= a; i ++)
{
cnt[get_num(i)%2]++;
}
printf("质因子奇数个数为%d, 偶数个数为%d\n", cnt[1], cnt[0]);
return 0;
}