xzhslr
发贴: 13
积分: 0
|
于 2005-08-27 01:50
不理解!为什么很简单的程序作得那么复杂呢?这么多的循环不是浪费时间吗? 首先 for(int k=0;k<store.length;k++){ if(store[k]!=0) System.out.print(store[k]+" "); }//注意方括号的对称 才对! 其次:当j做完第一次循环开始第二次这时候i=3、j=2,t=6与第一次的6重复,但store[p]=4(p=0),store[p]!=t,你得index已经累加,插入的时候index当然顺延向后插入!!!其实你已经获得6。 public class Help{ public static void main(String arg[]){ int length = 100; int index = 0; int i; int j; int p; int k; int[] store=new int [length]; for(i=2;i<=100;i++){ for(j=2;j<=100/i;j++){ int t=i*j; for(p=0;p<store.length;p++){ if(p<99&&store[p]!=t){ continue; }else{ if(store[p]==t){//重复 break; } if(p==99){//添加 store[index]=t; index=index+1; } } } } } for(k=0;k<store.length;k++){ if(store[k]!=0) System.out.print(store[k]+" "); } 这是我改的,编写的也不好,但是能用,希望高手指正!
|