urgent sieve of eratossthenes prime #'s

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • javaman90
    New Member
    • Feb 2007
    • 5

    urgent sieve of eratossthenes prime #'s

    alright i need some help making a program that displays all the prime number from 1-1000. i can make one but i cant make one with arrays. need help!
  • horace1
    Recognized Expert Top Contributor
    • Nov 2006
    • 1510

    #2
    Originally posted by javaman90
    alright i need some help making a program that displays all the prime number from 1-1000. i can make one but i cant make one with arrays. need help!
    The experts on this site are more than happy to help you with your problem but we cannot do your assignment for you. Attempt the assignment yourself first and post questions regarding any difficulties you have or about a particular function of the code that you don't know how to achieve.

    Comment

    • javaman90
      New Member
      • Feb 2007
      • 5

      #3
      this is what i have done

      package prime;

      public class Prime {
      public static void main(String[] args) {
      int i,j,p;
      for(i=2;i<=1000 ;i++)
      {
      p = 0;
      for(j=2;j<=i/2;j++)
      {
      if(i%j == 0)
      {
      p = 1;
      break;
      }
      }
      if(p == 0)
      System.out.prin tln(i);
      }
      }

      }

      it works, however i need to have it as arrays, which i am unable to do...could i possibly get help on this??

      Comment

      • r035198x
        MVP
        • Sep 2006
        • 13225

        #4
        Code:
         
        
        import static java.lang.Math.*;
        public class testPrime{
         public static void main(String[] args) {
          int limit = 7000;
          int i,j;
          int[] intervals = new int[7];
          for(int h = 0; h < intervals.length; h++) {
           intervals[h] = 0;
          }
          boolean []prime = new boolean[limit+1];
          for(i = 2; i <= limit; i++) {
           prime[i] = true;
           int max = (int)sqrt(i) + 1;
           for(j = 2;j < max; j++){
        	if((i % j) == 0) {
        	 prime[i] = false;
        
        	} 
        
           }
           if(prime[i] == true) {
        	if(i <= 1000) {
        	 intervals[0]++;
        	}
        	else if(1000 < i && i <= 2000) {
        	 intervals[1]++;
        	}
        	else if(2000 < i && i <= 3000) {
        	 intervals[2]++;
        	}
        	else if(3000 < i && i <= 4000) {
        	 intervals[3]++;
        	}
        	else if(4000 < i && i <= 5000) {
        	 intervals[4]++;
        	}
        	else if(5000 < i && i <= 6000) {
        	 intervals[5]++;
        	}
        	else if(6000 < i && i <= 7000) {
        	 intervals[6]++;
        	}
        	//System.out.println(i+\" is_prime**\");
           }
           else {
        	//System.out.println(i+\" no_prime\");
           }
          }
          System.out.println(\"Highest  interval \" + testPrime.dense(intervals) + 1);
        
          int scale = 110;
          int n = 1000;
          for(int k = 0; k < intervals.length;k++) {
        
           System.out.print((n - 999) + \"-\" + n );
           if(k == 0) {
        	System.out.print(\"   \");
           }
           System.out.print(\" :\");
           for(int l = 0; l < intervals[k] - scale; l++) {
        
        	System.out.print(\"*\");
           }
           System.out.println(\"\"+intervals[k]);
           n = n + 1000;
          }
        
         }
         public static int dense(int[] a) {
          int highest = 0;
        
          for(int i = 1; i < a.length;i++) {
           if(a[i] > a[highest]) {
        	highest = i;
           }
          }
          return highest;
         }
        }

        Comment

        Working...