除去次方数
自然数的平方数是:1 4 9 16 25 …
自然数的立方数是:1 8 27 64 125 …
自然数的4次方数是:1 16 81 256 …
…
这些数字都可以称为次方数。
请编程实现。求出1~n中除去次方数还剩余多少个数字。
自然数的立方数是:1 8 27 64 125 …
自然数的4次方数是:1 16 81 256 …
…
这些数字都可以称为次方数。
请编程实现。求出1~n中除去次方数还剩余多少个数字。
# include
# include
int main()
{
int m,c=0,i,j,n,t,sum,a[10001];
for(i=0;i<10001;i++)
a[i]=1;
scanf("%d",&n);
for(i=2;i<=100;i++)
for(j=2;j<=13;j++)
{
m=(int)pow(i,j);
if(m<=n)
a[m]=0;
}
for(i=1;i<10001;i++)
if(a[i]==0)
c++;
sum=n-c-1;
printf("%d\n",sum);
return 0;
}