#include
int main() {
int i,j,max = 0,fcts,count = 0;
for(i = 1; i <= 1000; ++i) {
fcts = 0;
for(j = 1; j <= i/2; ++j)
if(i % j == 0) ++fcts;
if(fcts % 2) {
++count;
}
}
printf("1 -- 1000之间有奇数个因子的数有:%d个\n",count);
return 0;
}
参考如下:
#include <stdio.h>
int countFactor4Odd(int n)
{
int i,j,max = 0,fcts,count = 0;
for(i = 1; i <= n; ++i) {
fcts = 0;
for(j = 1; j <= i/2; ++j)
if(i % j == 0) ++fcts;
if(fcts % 2) {
++count;
}
}
return count;
}
int main() {
int n = 1000;
printf("1 -- 1000之间有奇数个因子的数有:%d个\n",countFactor4Odd(n));
return 0;
}