java小白~筛选次方数~怎么结果错了~
提高题:除去次方数自然数的平方数是:1 4 9 16 25 …
自然数的立方数是:1 8 27 64 125 …
自然数的4次方数是:1 16 81 256 …
…
这些数字都可以称为次方数。
1~10000中,去掉所有的次方数,还剩下多少个数字?~
程序代码:
public static void main(String[] args) { int a[]=new int[10000]; int t,i,k,s=1,j,m=0,sum,l; {for(i=0;i<10000;i++) a[i]=i+1;} for(t=2;t<=100;t++) for(l=2;l<=13;l++) {for(k=1;k<=l;k++) s=s*t; if(s<=10000) {for(j=0;j<10000;j++) {if(a[j]==s){ m++;a[j]=0;}}} s=1; } sum=10000-m-1; System.out.println(sum); } }
[此贴子已经被作者于2017-3-11 23:07编辑过]