除去次方数:
自然数的平方数是:1 4 9 16 25 …
自然数的立方数是:1 8 27 64 125 …
自然数的4次方数是:1 16 81256 …
…
这些数字都可以称为次方数。
1~10000中,去掉所有的次方数,还剩下多少个数字?
参考答案:
9875
/*#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int num=0,i,j=2;
for(i=1; i<=1000; i++)
{
if(pow(i,j)<=10000)
{
printf("%d\n",i);
}
while(pow(i,j)<=10000)
{
num++;
//j++;
}
}
printf("%d\n",num);
return 0;
}
*/
#include <stdio.h>
#include <math.h>
void main()
{
int count=0;
int a[10001],i,x,y;
for(i=1; i<=10001; i++)
{
a[i]=1;
}
for(y=2; y<=14; y++)
{
for(x=2; x<=100; x++)
{
if(pow(x,y)<=10000)
{
i=(int)pow(x,y);
a[i]=0;
}
}
}
for(i=1; i<10001; i++)
{
if(a[i]==0)
count++;
}
printf("%d\n",10000-count);
}
未完待续。。。。。。。。。