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!
urgent sieve of eratossthenes prime #'s
Collapse
X
-
Originally posted by javaman90alright 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! -
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
-
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
Comment