Си диез / Говнокод #11287 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
public class Problem33 {
    public static void main(String arg[]){
        long l1 = Calendar.getInstance().getTimeInMillis();
        int amount = 0;
        for(int a=1; a<=9; a++){
            for(int b=1; b<=9; b++){
                for(int c=1; c<=9; c++){
                    for(int d=1; d<=9; d++){
                        int numerator = a*10+b;
                        int denominator = c*10+d;
                        double fraction = 1.0*numerator/denominator;
                        if(numerator < denominator){
                            if(
                              (a==c && (1.0*b/d == fraction)) ||
                              (a==d && (1.0*b/c == fraction)) ||
                              (b==c && (1.0*a/d == fraction)) ||
                              (b==d && (1.0*a/c == fraction))
                              ){
                                amount++;
                                System.out.println(a + "" +  b + "/" + c + "" + d);
                             }
                        }
                    }
                }
            }
        }
        System.out.println(amount);
        long l2 = Calendar.getInstance().getTimeInMillis();
        System.out.println("Time: " + (l2-l1) + "ms");
    }
}

http://projecteuler.net/problem=33
http://projecteuler.net/thread=33

Запостил: TheHamstertamer TheHamstertamer, (Updated )

Комментарии (19) RSS

  • > double fraction = 1.0*numerator/denominator;
    > 1.0*b/d == fraction

    > double
    > ==
    Ответить
    • Ага, зачем тут вообще даблы 🙂
      a/b == c/d => a*d == b*c но автор видимо этого не знал...
      Ответить
      • J#.

        Я представил себе J на платформе .net, и мне стало очень страшно. А потом вспомнил, что это всего лишь ява.
        Ответить
      • Приверженцев мелкософта не волнуют стандарты. Не будь унылым говном, быть креативным!
        Ответить
        • >Приверженцев мелкософта не волнуют стандарты.
          Дык на то и был намек!
          Ответить
  • Прочитал как
    System.out.println("Time: " + (12-11) + "ms");
    Долго думал.
    Ответить
      • В VS есть такое предупреждение, работает когда ставишь малое l на конце константы long. Студия говорит, что лучше бы сделать это в верхнем регистре, а ни то можно попутать с единицей.
        Ответить
        • Дожились. Обычно наболелая шишка на лбу служит предупреждением.
          А "с" и "с" - она не различает?
          Ответить
          • Можно обфускацию кода так проводить - составив все идентификаторы из одинакового набора букв "о", "с" и "е".
            осе осe(осе оcе, оce **oсе) {
              ...
            }
            Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8