International Obfuscated C Code Contest
IOCCC (от англ. International Obfuscated C Code Contest — «Международный Конкурс запутывания кода на Си»[1]) — конкурс программирования, в котором задачей участников является написание максимально запутанного кода на языке Си, с соблюдением ограничений на размер исходного кода. Конкурс IOCCC проводится ежегодно с 1984 года, за исключением 1997, 1999, 2002 и 2003 годов.
История
[править | править код]В 2004 году победителем конкурса стала графическая многозадачная операционная система с поддержкой клавиатуры, мыши, примитивной оконной подсистемой, поддержкой файловой системы, возможностью запускать ELF-программы. В поставку системы входит просмотрщик текстовых файлов, а также рудиментарный командный интерпретатор. Исходный код системы вместе с приложениями имеет размер около 3,5 килобайт.[2][3]
Среди других программ победителей: различные виды Куайн-программ, компилятор языка Си, способный скомпилировать сам себя, предсказатель фаз луны, и т. п.
Примеры
[править | править код]Пример программы, 1988 год:[4][5]
main(argc, argv)
int argc;
char **argv;
{
while (*argv != argv[1] && (*argv = argv[1]) && (argc = 0) || (*++argv
&& (**argv && ((++argc)[*argv] && (**argv <= argc[*argv] ||
(**argv += argc[*argv] -= **argv = argc[*argv] - **argv)) &&
--argv || putchar(**argv) && ++*argv--) || putchar(10))));
}
См. также
[править | править код]Примечания
[править | править код]- ↑ The International Obfuscated C Code Contest . Дата обращения: 1 июня 2006. Архивировано 28 мая 2014 года.
- ↑ Архивированная копия . Дата обращения: 24 февраля 2021. Архивировано 6 мая 2021 года.
- ↑ Архивированная копия . Дата обращения: 24 февраля 2021. Архивировано 17 апреля 2007 года.
- ↑ Архивированная копия . Дата обращения: 24 февраля 2021. Архивировано 7 мая 2021 года.
- ↑ Архивированная копия . Дата обращения: 24 февраля 2021. Архивировано 9 мая 2021 года.
Ссылки
[править | править код]- The International Obfuscated C Code Contest (англ.) — официальный сайт конкурса.
Это заготовка статьи о компьютерных языках. Помогите Википедии, дополнив её. |