Няшная / Говнокод #3456 Ссылка на оригинал

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
  32. 32
int main() {
  unsigned long oct;
  int m,n,i,j;	
  int max=0;
  
  scanf("%d",&oct);
  for(i=0;i<=32/3;i++) {
    m=0;
    for(j=0;j<=2;j++) {
      n=oct & 1;
      if(n==1)
        m=m | power(2,j);
      oct=oct >> 1;  
    } 
  if(m>max)
    max=m;                   
  }
  printf("%d",max);  
  return 0;
}

int power(int x, int a) {
  int i;
  int t=x;
  if(a==0)
    t=1;
  else {  
  for(i=1;i<a;i++)
    t*=x; 
  }
  return t;  
}

Определение максимальной цифры в восьмеричной записи числа.
Особенно радует вызов функции возведения в степень для двойки, да и сама функция тоже.

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

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

  • Тоесть с одной стороны человек как бы знает про сдвиги, а с другой -- возводит в степень как абизянка
    Ответить
    • Автор смотрит в будущее. Сегодня там int, а завтра нужно будет double, почти ничего переписывать не придется.
      Ответить
      • Или отдельный иф с брейком добавить после присвоения нового макс.
        Ответить
  • >>>Особенно радует вызов функции возведения в степень для двойки, да и сама функция тоже.

    +1, злой паря, видел такой мастерский подход к работе с битами неоднократно
    блин ну создайте массив степеней двойки если так надо - гораздо ведь быстрее получается, а он еще и цикл для возведения затулил
    Ответить
    • >>>блин ну создайте массив степеней двойки если так надо

      Это что, шутка?

      Кэп бы сделал вот так:
      <pre>
      private static int pow2(int n) {
      return 1 << n;
      }
      </pre>
      Ответить
  • Ненавижу явовский кодестайл на брекеты, код мешаниной становится
    Ответить
    • Зато в Яве, в отличии от многих других языков, хотя бы есть код-стайл.

      К скобке на строке быстро привыкаешь: через пол года Вам уже будет казаться мешаниной код со скоброй на другой строке
      Ответить
      • Откуда вебкилу знать K&R? Ни в VB ни в PHP он с ними не сталкивался
        Ответить
        • В K&R следует открывающую скобку функции, в отличие от остальных конструктов, писать на след. строке:

          int power(int x, int a)
          {


          А сабж использует именно что явовский кодестайл:

          int power(int x, int a) {


          Откуда вам с мистером Хэнки знать о K&R...

          Мне оба не нравятся. Лучший, имхо, -- АНСИ-стиль.
          Ответить
          • >>В K&R следует открывающую скобку функции, в отличие от остальных конструктов, писать на след. строке:

            какие нахуй конструкторы в K&R?
            В сях как бы нет конструкторов, равно как и ООП.

            Пзц, ты бы хоть изучил, что ли
            Ответить
  • Power(2, N)...
    Ааа, ну да, это же платформенно-независимый код на случай запуска на троичной машине.
    Ответить
    • :))))))))))))

      А представляете ,если бы размер интеджеров в яве зависел от железа, как в сях?
      А размер чара -- от кодировки системы.

      Вот смешно было бы
      Ответить
  • и никого не смутила операция "++" в "Сишном" коде ?
    Ответить
  • это какбэ цэ++ могу объяснить почему.
    int main() {
    типично для с++. в с было бы так:
    void main(void) {

    oct=oct >> 1; - только в с++

    return 0; - опять таки, возвращать из main'а числа придумали только в с++
    Ответить
    • > oct=oct >> 1; - только в с++
      Побитовый сдвиг не изучали, сразу потоки ввода-вывода. Не иначе.
      Ответить
    • такого фееричного фейла я еще не видел
      ты просто сказочный далбаеб
      Ответить
    • Мдяяя... Ваш пост настолько бредоподобен, что я даже не знаю что ответить 🙂
      Ответить
    • это Вебкилл или сфдев?
      по моему, это самый эпичный вброс на моей памяти...
      Ответить
    • >>опять таки, возвращать из main'а числа придумали только в с++

      да, блядь. "return code" у программ через сраку возвращали.
      Дибил ты этакий
      Ответить

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

Где здесь C++, guest?!

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


    8