public class zadanko {
public static boolean czyPierwsza(int liczba){
for(int i=2;i<=(int)Math.sqrt(liczba);i++){
if (liczba%i==0) return false;
}
return true;
}
public static int sumaCyfr(int liczba){
String naszaLiczba=String.valueOf(liczba);
int suma=0;
for (int i = 0; i < naszaLiczba.length(); i++) {
suma=suma+Integer.parseInt(naszaLiczba.charAt(i)+"");
}
return suma;
}
public static boolean czySuperPierwsza(int liczba){
if (czyPierwsza(liczba)&&czyPierwsza(sumaCyfr(liczba)))
return true;
return false;
}
public static int sumaBinarnych(int liczba){
String binarna=Integer.toBinaryString(liczba);
int suma=0;
for (int i = 0; i < binarna.length(); i++) {
suma=suma+Integer.parseInt(binarna.charAt(i)+"");
}
return suma;
}
public static boolean czySuperBPierwsza(int liczba){
if (czySuperPierwsza(liczba)&&czyPierwsza(sumaBinarnych(liczba)))
return true;
return false;
}
public static int ileSuperBPW(int a,int b){
int licznik=0;
for (int i = a; i <=b; i++) {
if (czySuperBPierwsza(i)) licznik++;
}
return licznik;
}
public static void main(String[] args) {
System.out.println("a");
System.out.println(ileSuperBPW(2,1000));
System.out.println(ileSuperBPW(100,10000));
System.out.println(ileSuperBPW(1000,100000));
System.out.println("b");
int licznik1=0;
for (int i = 100; i <=10000; i++) {
if (czyPierwsza(sumaCyfr(i))) licznik1++;
}
System.out.println(licznik1);
int suma=0;
for (int i = 100; i <=10000; i++) {
if (czySuperBPierwsza(i)) suma=suma+i;
}
if (czyPierwsza(suma))System.out.println("TAK");
else System.out.println("NIE");
}
}
Comments