LINUX.ORG.RU
Ответ на: комментарий от Eddy_Em

Если эти 6 строк кода действительно содержали в себе алгоритм решения задачи о ханойской башне, то длина их была явно символов в 500-1000

Ну да, где-то в районе 500.

#include <stdio.h>
#define n 3
int m[3][n+1], c[3], i;
#define MOVE(PIN1, PIN2) if (!c[PIN1]) { break; } else { m[PIN2][c[PIN2]+1]=m[PIN1][c[PIN1]]; m[PIN1][c[PIN1]]=0; c[PIN2]++; c[PIN1]--; printf("%d -> %d\n", PIN1, PIN2); };
#define LEGAL_MOVE(PIN1, PIN2) if ((m[PIN1][c[PIN1]]<m[PIN2][c[PIN2]]) || (m[PIN2][c[PIN2]]==0)) { MOVE(PIN1, PIN2); } else { MOVE(PIN2, PIN1); };
void main() {
  c[0]=n; c[1]=1; c[2]=1; for (i=0; i<n+1; i++) { m[0][i]=n+1-i; };
  while (1) { if (n & 1) { LEGAL_MOVE(0, 2); LEGAL_MOVE(0, 1); } else { LEGAL_MOVE(0, 1); LEGAL_MOVE(0, 2); }; LEGAL_MOVE(1, 2); };
Хотя, ИМХО, за 15 минут прочитать вполне можно, если знаешь алгоритм.

redgremlin ★★★★★
()

> Недавно я стал свидетелем того, как один выдающийся программист (участник двух финалов командных чемпионатов мира по программированию, проводимых организацией «Association for Computing Machinery» — АСМ) в течение весьма продолжительного времени (15 мин) не мог понять программу из шести строк на языке Си

Ну так дебил он — потому и не смог понять. Также видел я код, который такие вот задроты спортивного программирования пишут...

fang
()
Ответ на: комментарий от ranka-lee

> А вообще документированный код стоит больших денег. Халявное ПО есть - харя треснет ещё и халявную документацию делат

А если ещё и скурпулёзно протестированный — то ещё больших. Тесты тоже за здорово живёшь отдавать не надо.

fang
()
Ответ на: комментарий от redgremlin

Прикольно. Не думал, что на #define'ах так сократить можно :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от fang

> Ну так дебил он — потому и не смог понять.
Имхо, если задача чисто алгоритмическая, то хрен ты ее код поймешь, пока сам не решишь, даже если ты призер финала ICPC или мегаопытный программист.

metar ★★★
()
Ответ на: комментарий от Eddy_Em

> Если эти 6 строк кода действительно содержали в себе алгоритм решения задачи о ханойской башне, то длина их была явно символов в 500-1000. Понятное дело, что читать такое - затруднительно :)

http://www.kernelthread.com/projects/hanoi/

: mvt { fD tD — } ." move " fD . ." --> " tD . CR ;
: doh recursive { n tD fD uD — } n 0 > if n 1- uD fD tD doh fD tD mvt n 1- tD uD fD doh endif ;
: hanoi { n — } n 3 1 2 doh ;
CR 3 hanoi

Neksys ★★★
()
Ответ на: комментарий от router

>Отсутствие документации - самая крупная ошибка автора.
Если вы со мной спорите, то я ничего про документацию не писал.
Автору темы не нравится читать код - пусть не читает - причём здесь документация?

grim ★☆☆☆
()
Ответ на: комментарий от baverman

В этом суть программистов-олимпиадников, из ИТМО в частности. Они все и всегда пишут феерический говнокод, без комментов, без тестов, etc, Они «пишут» на скорость, заучивают типовые задачи перед олимпиадами. И да, они даже не знают что такое юнит-тесты, требования по комментам в коде и т.д. Большинство этих «подебителей олимпиад» не могут устроится на работу где-то за пределами своих недовузов, ибо на предприятии программист пишущий непредсказуемый нечитабельный код не нужен ни разу.

shahid ★★★★★
()
Ответ на: комментарий от shahid

Вас, что олимпиадники покусали? Боюсь, они и не пойдут «на предприятие». Вы уж извините меня, я никакого отношения к ним не имею, просто вы пытаетесь доказать, что можно не иметь мозгов, зато уметь писать красивый код и иметь за это сто нефти.

dizza ★★★★★
()
Ответ на: комментарий от dizza

Констатирую факт. Участие в олимпиадах сводится к задрочке некоторой группы аутистов-ботаников на типовые задачи и на скорость решения этих задач. Сам учился в итмищще, этих олимпиадников видел со стороны. Одного олимпиадника забрали в психушку в этом году, потому что свихнулся окончательно. Не хотите - не верьте, я не заставляю.

вы пытаетесь доказать, что можно не иметь мозгов, зато уметь писать красивый код и иметь за это сто нефти.

Где я такое сказал? Не имея мозгов, но имея хорошую память, можно задрачивать алгоритмы как по ссылке, никому не нужные решения изобретательских задач.

shahid ★★★★★
()
Ответ на: комментарий от shahid

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

Что-то я вам не верю. Мозг там нужен в первую очередь. А если мозг есть, то все остальное дело наживное, причем быстро.

dizza ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.