1. Список говнокодов пользователя WxD

    Всего: 1

  2. Java / Говнокод #3495

    +76

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    public static boolean isPow(BigInteger n){
    				    
    	   boolean zusammengesetzt=false;
    	   BigInteger obereSchranke=n;
    	   BigInteger untereSchranke=BigInteger.ONE;
    	   BigInteger t;	
                   
    	   for(BigInteger i=BigInteger.ONE;(i.compareTo(new BigInteger(new Integer((n.bitLength())).toString())) < 0);i=i.add(BigInteger.ONE)){
    	      while( (obereSchranke.subtract(untereSchranke)).compareTo(BigInteger.ONE) > 0){
    		     t=((obereSchranke.add(untereSchranke)).divide(new BigInteger("2")));
    		     if((pow(t,i.add(BigInteger.ONE))).compareTo(n) == 0){
    		        UserInterface.ausgabeFeld.append("Abbruch Schritt 1: Eingegebene Zahl ist nicht prim, da ");
    			    UserInterface.ausgabeFeld.append("n = "+t+"^"+i.add(BigInteger.ONE)+"\n"+"\n"); 
    				UserInterface.ausgabeFeld.repaint();
    				return zusammengesetzt=true;
    			    } 
    		     if((pow(t,i.add(BigInteger.ONE))).compareTo(n) > 0)
    			    obereSchranke=t;
    		     if((pow(t,i.add(BigInteger.ONE))).compareTo(n) < 0)
    				untereSchranke=t;
    		  }  
           }    
    	   UserInterface.ausgabeFeld.append("Schritt 1: "+n+" ist keine echte Potenz!"+"\n");
    	   UserInterface.ausgabeFeld.repaint();
    	   return zusammengesetzt;  
    	}

    Проверка условия вида "n = a^b".
    Впечатляет условие цикла for и реализация арифметических операций (хотя, может, с BigInteger так и надо).

    WxD, 16 Июня 2010

    Комментарии (8)