idzik

Java/Matura/SuperBPierwsze

Oct 24th, 2016
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.78 KB | None | 0 0
  1.  
  2. public class zadanko {
  3.  
  4.    
  5. public static boolean czyPierwsza(int liczba){
  6.     for(int i=2;i<=(int)Math.sqrt(liczba);i++){
  7.         if (liczba%i==0) return false;
  8.     }
  9.     return true;
  10. }
  11.  
  12. public static int sumaCyfr(int liczba){
  13. String naszaLiczba=String.valueOf(liczba);
  14. int suma=0;
  15. for (int i = 0; i < naszaLiczba.length(); i++) {
  16.     suma=suma+Integer.parseInt(naszaLiczba.charAt(i)+"");
  17. }
  18. return suma;
  19. }
  20.  
  21. public static boolean czySuperPierwsza(int liczba){
  22.     if (czyPierwsza(liczba)&&czyPierwsza(sumaCyfr(liczba)))
  23.         return true;
  24.     return false;
  25. }
  26.  
  27. public static int sumaBinarnych(int liczba){
  28.     String binarna=Integer.toBinaryString(liczba);
  29.     int suma=0;
  30.     for (int i = 0; i < binarna.length(); i++) {
  31.         suma=suma+Integer.parseInt(binarna.charAt(i)+"");
  32.     }
  33.     return suma;
  34. }
  35.  
  36. public static boolean czySuperBPierwsza(int liczba){
  37.     if (czySuperPierwsza(liczba)&&czyPierwsza(sumaBinarnych(liczba)))
  38.             return true;
  39.     return false;
  40. }
  41.  
  42. public static int ileSuperBPW(int a,int b){
  43.     int licznik=0;
  44.     for (int i = a; i <=b; i++) {
  45.         if (czySuperBPierwsza(i)) licznik++;
  46.     }
  47.     return licznik;
  48. }
  49.     public static void main(String[] args) {
  50.            System.out.println("a");
  51.            System.out.println(ileSuperBPW(2,1000));
  52.            System.out.println(ileSuperBPW(100,10000));
  53.            System.out.println(ileSuperBPW(1000,100000));
  54.            System.out.println("b");
  55.            int licznik1=0;
  56.            for (int i = 100; i <=10000; i++) {
  57.            if (czyPierwsza(sumaCyfr(i))) licznik1++;
  58.         }
  59.            System.out.println(licznik1);
  60.            int suma=0;
  61.            for (int i = 100; i <=10000; i++) {
  62.                if (czySuperBPierwsza(i)) suma=suma+i;
  63.         }
  64.            if (czyPierwsza(suma))System.out.println("TAK");
  65.            else System.out.println("NIE");
  66.            
  67.     }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment