Jawa / Говнокод #18953 Ссылка на оригинал

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
/* Таблица умножения
*/
public class Solution
{
public static void main(String[] args)
{
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
int h = 8;
int i = 9;
int j = 10;

System.out.println(a * a + " " + b * a + " " + c * a + " " + d * a + " " + e * a + " " + f * a + " " + g * a + " " + h * a + " " + i * a + " " + j * a);//1
System.out.println(a * b + " " + b * b + " " + c * b + " " + d * b + " " + e * b + " " + f * b + " " + g * b + " " + h * b + " " + i * b + " " + j * b);//2
System.out.println(a * c + " " + b * c + " " + c * c + " " + d * c + " " + e * c + " " + f * c + " " + g * c + " " + h * c + " " + i * c + " " + j * c);//3
System.out.println(a * d + " " + b * d + " " + c * d + " " + d * d + " " + e * d + " " + f * d + " " + g * d + " " + h * d + " " + i * d + " " + j * d);//4
System.out.println(a * e + " " + b * e + " " + c * e + " " + d * e + " " + e * e + " " + f * e + " " + g * e + " " + h * e + " " + i * e + " " + j * e);//5
System.out.println(a * f + " " + b * f + " " + c * f + " " + d * f + " " + e * f + " " + f * f + " " + g * f + " " + h * f + " " + i * f + " " + j * f);//6
System.out.println(a * g + " " + b * g + " " + c * g + " " + d * g + " " + e * g + " " + f * g + " " + g * g + " " + h * g + " " + i * g + " " + j * g);//7
System.out.println(a * h + " " + b * h + " " + c * h + " " + d * h + " " + e * h + " " + f * h + " " + g * h + " " + h * h + " " + i * h + " " + j * h);//8
System.out.println(a * i + " " + b * i + " " + c * i + " " + d * i + " " + e * i + " " + f * i + " " + g * i + " " + h * i + " " + i * i + " " + j * i);//9
System.out.println(a * j + " " + b * j + " " + c * j + " " + d * j + " " + e * j + " " + f * j + " " + g * j + " " + h * j + " " + i * j + " " + j * j);//10
}
}

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

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

  • Брутально. Видимо автора попросили заменить магические числа на константы...
    Ответить
  • не можешь работать головой - работай руками..
    Ответить
  • for (int i=1;i<11;i++){
    for (int j=1;j<11;j++){
    System.out.print( j*i + " ");
    }
    System.out.println();
    }
    Ответить
      • Сижу на работе без дела первый день. Хотелось хоть как то поучаствовать в беседе. не нужно иронии.
        Inkanus-gray, да пробелы есть лишние, но наглядность вывода сохранил)
        Думаю в этом примере не принципиально наличие лишнего пробела.
        Ответить
    • Корректнее так (калька с C#, поэтому может работать не так, как надо):

      int len = 10;

      for (int i = 0; i < len * len; ++i)
      {
      if (i % len == 0)
      {
      if(i > 0)
      System.out.println();
      }
      else
      System.out.print(" ");
      System.out.format("%03d ", (i / len + 1) * (i % len + 1));
      }
      Ответить
      • А чем это лучше двух циклов? Имхо, только запутаннее стало.
        Ответить
      • Ну ты и кулибин, блин. Изобрел 2 цикла по цене 3 в одном
        Ответить
        • Зато в общем виде и сама по себе практика разворачивания в один цикл (в особенности это касается всяких непристойных алгоритмов) — годная вещь. Если бы не было форматирования (предположим, у нас есть некий абстрактный view, а это все происходит в model с array), для больших N, это было бы более чем осмысленно. В общем, сама по себе практика не настолько порочна, как может показаться.
          Ответить
          • Попытка засунуть N-мерную таблицу в одномерную сущность имеет смысл, да. В конце концов, в РСУБД этим постоянно занимаются. Если бы модель выдавала туплы (i, j, i*j), а view отображало бы третий элемент тупла в табличке, используя первые два как координаты - ну ок, имеет право на жизнь. Если бы модель тупо выдавала массив i*j, а view раскидывало бы их по ячейкам справа-налево сверху-вниз - тоже.

            Но даже там значения было бы удобнее генерить двойным циклом, а не выёбываться, вычленяя их делением из линейного индекса...

            Эта практика, имхо, не порочна только в одном случае - когда линейный индекс даётся свыше, на входе алгоритма, и нам надо выдать значение для конкретного индекса.
            Ответить
            • > когда линейный индекс даётся свыше, на входе алгоритма, и нам надо выдать значение для конкретного индекса
              Что-то типа такого имелось в виду:
              // этот метод навязан нам интерфейсом, мы ничего не можем с этим поделать
              int getCell(int linearIndex)
              {
                  int y = (linearIndex / width) + 1;
                  int x = (linearIndex % width) + 1;
                  return x * y;
              }
              Но и то, имхо, архитектура говёная, раз заставляет такое делать, а не передаёт индекс ячейки по-нормальному как пару (x, y).
              Ответить
              • и то скорее

                int y = (linearIndex / width) + 1;
                    int x = (linearIndex % width) + 1;


                Будет где нибудь в функции-адаптере
                Ответить
          • сначала ты индексы сворачиваешь, потом ты индексы разворачиваешь...

            ладно если у нас только свернутый индекс на входе, но тут то зачем все это
            Ответить
  • Заебали лабы постить. Единственный смешной момент- что числа заменили константами (разве что они не final)
    Ответить

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

Из-за тебя ушел bormand, guest!

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


    8