
Witam. Mam problem ze zrozumieniem końcówki polecenia w zadaniu 8.7 : "oraz ich iloczynem jest wartość podana pod parametrem n".
Czy chodzi o to, żeby sprawdzić czy wszystkie liczby z tablicy pomnożone przez siebie dają n? - nie rozumiem tego polecenia.
Pierwszą część zadania zrobiłem, sprawdziłem czy liczby z tablicy są pierwsze, a później sprawdziłem czy są podzielne przez n ale raczej to jest źle, bo ma być iloczyn.
Proszę o pomoc.
package com.example;
import java.util.Random;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int []tablica=new int[10];
tablica[0]=2;
tablica[1]=3;
tablica[2]=5;
tablica[3]=7;
tablica[4]=11;
tablica[5]=13;
tablica[6]=2;
tablica[7]=23;
tablica[8]=29;
tablica[9]=2;
arePrimeFactors(1,tablica);
}
public static boolean arePrimeFactors(int n, int [] tablica){
int licznik=0;
for(int i=0;i<tablica.length;i++){
if(isPrime(tablica[i])){
licznik++;
}
}
if(licznik==tablica.length) {
int licznik2=0;
for(int i=0;i<tablica.length;i++){
if(tablica[i]%n==0){
licznik2++;
}
}
if(licznik2==tablica.length){
System.out.println("liczby sa pierwsze i podzielne przez n czyli true");
return true;
} else {
System.out.println("liczby nie sa podzielne przez n czyli false");
return false;
}
} else{
System.out.println("liczby nie sa pierwsze, false");
return false;
}
}
public static boolean isPrime(int n){
if(n<2){
System.out.println(n+" nie jest prime");
return false;
} else if(n>2){
for(int i=2;i<n;i++){
if(n%i==0){
System.out.println(n+" nie jest prime");
return false;
}
}
}
System.out.println(n+" jest prime");
return true;
}
}