- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
function BIN(a) {
var x = false;
for (var i = 0; i < 50; i++) {
if (Math.pow(2, i) == a) {
x = true;
}
}
return x;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+174
function BIN(a) {
var x = false;
for (var i = 0; i < 50; i++) {
if (Math.pow(2, i) == a) {
x = true;
}
}
return x;
}
Проверка числа на степень двойки.
Lure Of Chaos 18.07.2010 11:34 # 0
а сдвигов мы не знаем, да
Kornew 18.07.2010 12:02 # +1
Lure Of Chaos 18.07.2010 12:07 # 0
Lure Of Chaos 18.07.2010 12:09 # 0
bugmenot 18.07.2010 13:20 # +4
Kornew 18.07.2010 14:07 # +6
2: обучение в универе - гавно, хотя и те кто учатся - тоже (мб конечно это зависит от универа, но всёже)
пример УГ:
в универе, где я учусь, всё обучение программингу построено на паскале:
- все курсаки и дипломки - Делфи (БД : Парадокс)
- курс ООП -- фактически сводился к изучению стандартных компонентов Делфи
- курс С/С++ занимал 1 семестр (после изучения паскаля в 3 семестра), препом, который с трудом мог выразить свои мысли;
- асм 2 семестра, базовые понятия: за всё это время, преп появился лишь 4 раза (2 раза на экзаменах и 2 раза в начале семестров);
- избыток гуманитария (каждый семестр по 2 курса гуманитария: история, культурология, 2 философии, экономика, психология, языковедение и т.п.)
- деморализация : тем кто нихрена не делает и нихрена не знает(девушки и некоторые парни) ставят наивысшие баллы и дают повышенную стипендию...
итог:
- 4 года потрачено в пустую (заданий много, толку с них практически нету: 1 месяц каникул прошёл гораздо продуктивнее, чем 1 год обучения в универе)
- ненависть к паскалю (делфи)
- ненависть к людям
зы: как оказалось, программа обучения по которой мне пришлось обучаться - это была довольно хорошей.
у тех кто на курс младше программа обучения стала "лучше":
- добавили гуманитария
- убрали С/С++ (остался только паскаль/делфи)
- убрали начерталку
- поменяли порядок обучения:
базовые дисциплины учат позже чем приходится их применять (на 2 курсе применяют асм, а на 3м - учат как писать на асм)
вообщем супер...
кстати фишка: кандидатов технических наук, которые работали в своей сфере по 30 лет, упразднили, и теперь они попросту Никто, - зато вот студенты после магистратуры, которые учились у этих же препов - сразу докторами технических наук выходят Х_х
Vasiliy 18.07.2010 15:33 # 0
Dummy00001 18.07.2010 16:34 # 0
без правильной мат подготовки, обучение программированию говно.
с правильной мат подготовкой - даже басик тебя уже не проймет.
Kornew 18.07.2010 16:47 # 0
- Программное обеспечение автоматизированных систем (программер)
- комп. системы и сети (одмин)
Dummy00001 18.07.2010 16:57 # 0
Kornew 18.07.2010 17:41 # 0
программирование(+теория): 10 дисциплин
математика: 5 дисциплин
электро-схемотехника: 5 дисциплин
другие: { физика, начерталка, экономика }
-- и это пля программа для программиста нах...
зы: недостаток математики ощущается лишь при решении задач с довольно серьёзной математикой.
а при прикладном программировании и уж тем более при изучении языков - оной нехватки никогда не ощущал...
Dummy00001 18.07.2010 17:49 # +7
гы гы. это ты всей правды не знаешь.
на втором курсе у нас народ на лекции по матану задал вопрос а накой нам программистам это вообще? думали что препода в тупик поставит, обидит или разозлит. а он спокойно выдал нам что матан/дифуры нам будущим программистам даются ни для чего иного что бы у нас математическое мышление развить и научить математический язык читать.
другими словами фактуально большинство математики программистам нафиг не сдалось - но побочные эффекты изучения математики имеют долгосрочный позитивный эффект.
nil 18.07.2010 19:47 # 0
Развить матмышление, анализ программистам полезно, щитаю. Да и по жизни прикольно:)
Lure Of Chaos 18.07.2010 21:19 # −1
диагноз?
Dummy00001 18.07.2010 21:26 # 0
ЗЫ ну я русский уже мало по малу забываю... да и кроме как на асме точно свои мысли выражать ни на каком другом языке никогда не умел.
Lure Of Chaos 18.07.2010 21:29 # +2
Kilotonne 19.07.2010 00:11 # 0
Webkill 19.07.2010 00:53 # 0
> Худшие уебки
прочитал: худшие вебкилы
inkanus-gray 19.07.2010 01:38 # +3
Кстати,
http://bg.wikipedia.org/wiki/Уебсайт — есть,
http://bg.wikipedia.org/wiki/Уеб_сървър — есть,
http://bg.wikipedia.org/wiki/Уеб_браузър — есть,
http://bg.wikipedia.org/wiki/Уеб_дизайн — есть,
Уебкила почему-то в Уикипедии нет.
Lure Of Chaos 19.07.2010 12:09 # −2
inkanus-gray 19.07.2010 15:47 # 0
А вот по-македонски и по-сербски будет неинтересно, там будет на букву «В».
Lure Of Chaos 19.07.2010 16:13 # −2
Kilotonne 19.07.2010 06:16 # +2
Не видел ни одного еблана из физтеха, который бы не смог решать поставленные задачи, при етом выдавая не-говнокод.
Kornew 19.07.2010 10:17 # +2
хоть век старайся обучить человека с гуманитарным складом ума умению думать формулами и какими-то абстракциями -- ничего хорошего из этого не выйдет.
если человеку не дано -- он не сможет понять.
(равносильно, научить свинью летать)
а человеку с врождённым математическим умом - физмат просто помогает развить то что у его уже есть.
(подбрасывают птицу, чтобы она полетела)
к тому же, школьное образование - гавно, оно убивает личность и все таланты ребёнка (вместо их развития).
единственное нормальное обучение может быть только в специализированных учебных заведениях, но таковых не много и обучение там дорогое...
так что в большинстве случаев Физмат или КС - не решают толком ничего =)
Lure Of Chaos 19.07.2010 12:11 # +3
истинная правда, причем во всех направлениях. жы шы через букву ы учать писать, а вот более важному, например, межличностным отношениям - нет
Kornew 19.07.2010 12:32 # +4
дело даже не в отношениях
(у нас кстати в этом плане делали акцент: рассаживали мальчик+девотька, иногда заставляли работать в команде;
но это всё было инициативой классного руководителя и не всегда проходило успешно: один работает двое скатывают, разделения труда не получалось...)
но дело не в том...
- школьное образование убивает таланты...
если ребёнок имеет гениальный математический ум и уже в первом классе думает формулами и умеет анализировать полученные знания - его пинают, чтобы не выделялся из остальной массы, которая до сих пор 2+2 считает на пальцах..
Lure Of Chaos 19.07.2010 12:46 # +4
И что? Училка в первом классе давай жаловаться на меня, что я не умею читать!
Родители: как это, он у нас уже нормально читает!
А она: мы учимся читать по слогам, а он не читает по слогам!
Kornew 19.07.2010 12:57 # +3
- всемирный заговор
- или просто неадекватность учителей
да и вообще:
- любому ежу известно, что ложка дёгтя испортит бочку мёда (ну или большую его часть).
так почему же Преподавательский состав в школе объединяет Преуспевающих, Нормальных и Отстающих учеников?
- в глупой надежде на то что отстающие подтянутся?
- или они не знают, что 1 отстающий потянет за собою на дно несколько преуспевающих?
бред это всё...
как говорил один из знакомых препов: "Управлением должны заниматься Технари, а не экономисты или гуманитарий. Гуманитарный склад ума просто не подходит для управления или планирования..."
а у нас?:
- управление на гуманитарии
- планирование на гуманитарии
- образование на гуманитарии
- а техники == простые рабочие...
пока эта система не изменится - наша Страна {страны СНГ} будут в говне...
Lure Of Chaos 19.07.2010 13:36 # +2
заговор для авторов заговора
неадекватность учителей, поставленных по безалаберности стоящих, но по плану авторов заговора
ISO 06.02.2023 19:23 # 0
Lure Of Chaos 18.07.2010 16:35 # +3
3.14159265 18.07.2010 17:36 # 0
>>>- 4 года потрачено в пустую (заданий много, толку с них >>>практически нету: 1 месяц каникул прошёл гораздо продуктивнее, чем 1 год обучения в универе)
>>>- ненависть к паскалю (делфи)
отличный пост. +100
>>>- ненависть к людям
те кто поражены синдромом вахтера уже не люди.
WebKill_HochetVBan 18.07.2010 19:04 # +1
inkanus-gray 18.07.2010 19:17 # −1
Обратный порядок изучения (сначала применение предмета, потом сам предмет) — аналогично.
Деморализация — аналогично.
Зубрёжка заточенного под конкретную версию, что устареет через полгода и придётся зубрить заново, вместо умения думать — ну это вообще современное гуманитарное образование.
А ещё чиновники жалуются, что слишком мало «гуманитарщины» в вузах.
Более того, могут забыть прочитать предмет, необходимый для дипломной работы. А ещё могут по ходу обучения сменить название специальности в дипломе и программу обучения, не предупредив об этом студентов. Лотерея: угадай, что будет написано у тебя в дипломе. И чиновникам это кажется нормальным.
Чорт, на какие темы потянуло! А начиналось всё с говнокода...
nil 18.07.2010 19:54 # 0
К нас, математиков, как помню, из гуманитарных было история Отечества, философия, английский, экономическая теория и физра. А, история и методология матки еще. Итого 6.
Ощущаю острую нехватку ГСМ, потому увлекся языками:)
inkanus-gray 18.07.2010 21:12 # 0
nil 18.07.2010 21:15 # 0
И Бог миловал, ни исткома, ни политэка тоже не было:)
bugmenot 19.07.2010 20:11 # 0
Анонимус 19.07.2010 20:38 # +3
inkanus-gray 18.07.2010 12:47 # +22
bugmenot 18.07.2010 13:15 # +3
inkanus-gray 18.07.2010 17:56 # 0
Может быть, кто-нибудь вспомнит, где это было? Или у меня дежавю?
nil 18.07.2010 20:07 # +2
inkanus-gray 18.07.2010 21:14 # 0
WebKill_HochetVBan 18.07.2010 23:04 # 0
inkanus-gray 19.07.2010 01:32 # 0
http://graphics.stanford.edu/~seander/bithacks.html
Хотя и там не матан (исчисление бесконечно малых), а всего лишь целочисленная арифметика, только формулы для многих неочевидны.
Анонимус 19.07.2010 20:39 # 0
TarasB 18.07.2010 14:10 # −8
Kornew 18.07.2010 14:18 # +1
x = 4;
4 & (4 -1) == 0 ?
100b & 011b == 0 -> степень двойки
x = 5;
5 & (5-1) == 0 ?
101b & 100b == 100b != 0 -> не степень двойки
TarasB 18.07.2010 16:23 # −3
Так вот, автор говнокода, не умеющий даже двойку в степень возводить, спросил бы ровно то же, что и я.
inkanus-gray 18.07.2010 17:54 # 0
Kornew 18.07.2010 14:26 # +1
0 & (0-1) == 0 ?
0b & (1111 1111b) == 0 -> степень двойки
но т.к. (x^n != 0), если (x є N)
то x = 0 - это исключительная ситуация, которую нужно проверять отдельно
inkanus-gray 18.07.2010 21:18 # 0
TarasB 18.07.2010 21:45 # +2
Lure Of Chaos 18.07.2010 22:08 # −1
inkanus-gray 18.07.2010 22:12 # 0
Lure Of Chaos 18.07.2010 22:16 # 0
хотя мысль интересная: вместо :))))) писать &lol;
inkanus-gray 18.07.2010 22:18 # +1
Lure Of Chaos 18.07.2010 22:28 # 0
скобочки лучше читаются за счет визуального представления ( например, легко понятно, что :-) - это глаза,нос,рот, только 90ccw, а :-))))))))))))) - это анимация в стиле комикса )
но &lol; внушает больше уважения, мол, надо же, знаешь хтмл ))))
inkanus-gray 18.07.2010 22:32 # +3
Lure Of Chaos 18.07.2010 22:37 # −1
так можно и уйти в варианты:
echo LOL;
?>lol<?
db L O L ;LOL
<?="lol"?>
10 PRINT "LOL":
ну и так далее, пока не надоест )
bugmenot 21.07.2010 16:08 # +1
inkanus-gray 21.07.2010 16:11 # 0
Lure Of Chaos 21.07.2010 16:11 # 0
и хтмл, и хмл это все наследники сгмл. ну и что? сгмл умир ведь, да?
Мистер Хэнки 18.07.2010 18:48 # 0
я бы решил задачу, руководствуясь тем, что степень двойки в битовом представлении имеет "1" лишь в одном разряде, а в остальных "0"
типа такого (псевдокод)
inkanus-gray 18.07.2010 18:55 # +1
Ещё во времена 80386 или 80486 появились инструкции BSR и BSF, возвращающие номер первого и последнего установленного бита в числе. Если эти результаты совпадают, то степень двойки. Жаль, некроссплатформенно... То же можно сделать циклом через сдвиг с переносом, это будет более переносимо (простите за каламбур).
bugmenot 18.07.2010 13:22 # 0
TarasB 18.07.2010 14:11 # 0
Было бы круче, если он степень двойки через for считал.
Хотя, может, это типа такой кроссплатформенный код, который будет выполняться и на троичных компах?
eval 18.07.2010 15:46 # 0
И как ты себе представляешь троичные компы?
Kornew 18.07.2010 15:55 # 0
eval 18.07.2010 16:02 # +1
Kornew 18.07.2010 16:15 # 0
Kornew 18.07.2010 16:18 # 0
Kornew 18.07.2010 16:20 # 0
function mypow(x, n) {...}
WebKill_HochetVBan 18.07.2010 19:20 # +1
В гуугле забанили? Странно, вроде ты не из буйных...
inkanus-gray 18.07.2010 19:28 # +4
Вспомнился анекдот. Спрашивают программиста:
— Сколько будет два в квадрате?
— Четыре.
— А в кубе?
— Восемь.
— А в восьмой степени?
— 256.
— А в двенадцатой?
— 4096.
— А в шестнадцатой?
— 65536.
— А в двадцать четвёртой?
— 16 777 216.
— А сколько будет три в кубе?
— Не знаю. Дробное число получится, наверное...
bugmenot 19.07.2010 20:18 # 0
inkanus-gray 18.07.2010 19:50 # +1
3.14159265 21.07.2010 15:11 # +1
UTF-9 and UTF-18 (9- and 18-bit Unicode Transformation Format, respectively) were two April Fools' Day RFC joke specifications for encoding unicode on systems where the nonet (nine bit group) is a better fit for the native word size than the octet, such as the 36-bit PDP-10.
inkanus-gray 21.07.2010 15:27 # 0
Про голубиную почту читал, даже с QoS, про флажковую азбуку и про передачу электричества через IP. Всё это выглядит несерьёзно, но ведь когда-то даже 300 бод считалось нормальной скоростью для модема. А может, голубь на себе будет нести флэшку с архивом пакетов? Или флажками махать робот?
Только что обнаружил ссылку: http://ru.wikipedia.org/wiki/Первоапрельские_RFC . Спасибо за замечание, ещё несколько подобных RFC нашёл!
bugmenot 19.07.2010 20:23 # 0
zantor 20.07.2010 18:50 # −1
Kornew 21.07.2010 10:24 # 0
zantor 21.07.2010 11:58 # 0
Приведите, пожалуйста, пример вычисления логарифма на асме
3.14159265 21.07.2010 12:53 # +2
опять я на асме сделал в одну строку )))
zantor 21.07.2010 13:01 # 0
3.14159265 21.07.2010 13:07 # +1
а еще есть команда начин. с fyl2 тока она прибавлет к результату 1 кажись
zantor 21.07.2010 13:14 # 0
3.14159265 21.07.2010 13:44 # 0
zantor 21.07.2010 14:02 # 0
Kornew 21.07.2010 10:31 # +1
log(X) % LN2
будет возвращать > 0, если это Не степень двойки, а функция проверяет на степень двойки:
1 - да, степень
0 - нет...
т.е. там нужно сделать проверку на ноль, либо просто возвращать число остатка от деления
зы: и вообще тут кажется грубая ошибка: лог() возвращает Вещественное число, -- а операнд % можно применять только к целым;
а если даже транслятор превратит Вещественные в Целые - то вылезет ошибка: откинется значение после запятой...
inkanus-gray 21.07.2010 15:48 # 0
with(Math) {return log(X) / LN2 - floor(log(X) / LN2) == 0;}
Но это жутко ненадёжно, потому что про сравнение вещественных на точное равенство мы уже писали.
bugmenot 21.07.2010 16:18 # 0
NOTE In C and C++, the remainder operator accepts only integral operands; in ECMAScript, it also accepts floating-point operands.
а условие я инвертировал, каюсь