Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Prob7 {
- public static void main(String args[]) {
- // pornesc cu valoarea default 10 pentru n
- int n = 10;
- // daca avem un argument in linie de comanda, il luam pe el drept n
- if (args.length == 1){
- try {
- n = Integer.parseInt(args[0]);
- }
- catch (NumberFormatException e) {
- e.printStackTrace();
- }
- }
- int primes[] = new int[100];
- int i,j,k = 0;
- // generez in vectorul primes toate numerele prime mai mici sau egale
- // cu al n-lea numar par mai mare decat 2
- for (i=1;i<=2*(n-1)+4;i++)
- if (prime(i))
- primes[k++]=i;
- for (i=4,j=0;j<n;j++,i+=2){
- for (int t=0;t<k && primes[t]<=i/2;t++) {
- // nu functioneaza si nu inteleg de ce :
- // if (Arrays.binarySearch(primes,i-primes[t]) >= 0)
- if (contains(primes,i-primes[t]))
- System.out.println(i + " = " + primes[t] + " + " + (i-primes[t]));
- }
- }
- }
- static boolean prime(int nr) {
- for (int i=2;i<=Math.sqrt(nr);i++)
- if (nr % i == 0)
- return false;
- return true;
- }
- // fuctian returneaza true daca vectorul v contine valoare val,false
- // altfel
- static boolean contains(int v[], int val) {
- for (int i=0; i< v.length; i++)
- if (v[i]==val)
- return true;
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement