- 1
- 2
- 3
- 4
- 5
- 6
- 7
const int MOD = 1000000007;
int pow(int a, int b) {
if (!b) return 1;
if (b & 1) return (pow(a, b - 1) * 1LL * a) % MOD;
return pow((a * 1LL * a) % MOD, b / 2);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
const int MOD = 1000000007;
int pow(int a, int b) {
if (!b) return 1;
if (b & 1) return (pow(a, b - 1) * 1LL * a) % MOD;
return pow((a * 1LL * a) % MOD, b / 2);
}
http://ideone.com/JlfNxZ
Там ещё куча всякого говна есть
http://acm.math.spbu.ru/~kunyavskiy/cpp/
немного доставило.
Кто? Керниган или Ритчи?
Но я вроде и не позиционирую себя как крутого писателя. А этим дуэтом "Макс Фрай" меня уже порядочно заебали
Зверинец, блин.
В сишке квадратные скобки — это сумма адресов, но с поправкой: одно из слагаемых может быть домножено на «размер элемента массива».
[5 + RAX] ?
Необычные моменты и багофичи (2[a], триграфы), отличия от математики (^, <=, переполнение), побочные эффекты. Удобное наглядное учебное пособие.
P.S. Как 12е запустить? Как я понимаю, автор тут хотел показать поточного rw-питуха и порядок опереций, но ideone говорит, что так жить нельзя.
> Как 12е запустить?
Только если скобок добавить. Первый же << превращает iostream& в ostream&, из которого уже нельзя читать.
В 2013м автор или его сын/однофамилец был студентом: http://pikabu.ru/story/_1979645
Есть ещё вариант, что он услышал на лекциях про C++ и решил собрать для себя коллекцию спорных моментов.
Какое счастье, что в следующем году мы от них официально избавляемся.
// Will the next line be executed????????????????/
a++;
?:)
кстати
а как там диграфы типа <% ?
Вообще во времена повсеместного уникода смешно что еще кто-топ омнит о 7битных кодировках 40ка летней давности
надо так: