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"); } }