除去次方数
自然数的平方数是: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;
}
本文介绍了一种算法,用于计算1到n范围内除去所有次方数(如平方、立方等)后的剩余数字数量。通过列举自然数的不同次方数序列,并使用编程方式实现该算法。
2977

被折叠的 条评论
为什么被折叠?



