Приношу заранее извенения если такая задачу уже обсуждалась. Не помню где я ее взял, так что тоже приношу извенения, если нарушу чьи-то авторские права.
Задача состоит в следующем. Необходимо написать программу на С, которая выводит в столбец цифры от 0 до 100. Цель — получить как можно меньший размер исходника в символах(считая пробелы и т.д.). Запрещено пользоваться, операторами цикла (for, while ). Сам написал где-то в районе 50 символов, слышал про 41 (под gcc).
Здравствуйте, King Oleg, Вы писали:
KO>Здравствуйте, Goodkov, Вы писали:
G>>Запрещено пользоваться, операторами цикла (for, while ). KO>А рекурсия — это цикл?
Здравствуйте, Apostate, Вы писали:
A>Здравствуйте, King Oleg, Вы писали:
KO>>Здравствуйте, Goodkov, Вы писали:
G>>>Запрещено пользоваться, операторами цикла (for, while ). KO>>А рекурсия — это цикл?
A>а goto?
Забыл уточнить — нельзя также пользоваться оператором сравнения(if), а goto можно,
соответственно рекурсией тоже.
Здравствуйте, Goodkov, Вы писали:
G>Приношу заранее извенения если такая задачу уже обсуждалась. Не помню где я ее взял, так что тоже приношу извенения, если нарушу чьи-то авторские права.
G>Задача состоит в следующем. Необходимо написать программу на С, которая выводит в столбец цифры от 0 до 100. Цель — получить как можно меньший размер исходника в символах(считая пробелы и т.д.). Запрещено пользоваться, операторами цикла (for, while ). Сам написал где-то в районе 50 символов, слышал про 41 (под gcc).
Здравствуйте, Дмитро, Вы писали:
Д>Здравствуйте, Goodkov, Вы писали:
G>>Приношу заранее извенения если такая задачу уже обсуждалась. Не помню где я ее взял, так что тоже приношу извенения, если нарушу чьи-то авторские права.
G>>Задача состоит в следующем. Необходимо написать программу на С, которая выводит в столбец цифры от 0 до 100. Цель — получить как можно меньший размер исходника в символах(считая пробелы и т.д.). Запрещено пользоваться, операторами цикла (for, while ). Сам написал где-то в районе 50 символов, слышал про 41 (под gcc).
Д>
Здравствуйте, Goodkov, Вы писали:
G>НИКАКИМИ ОПЕРАТОРАМИ СРАВНЕНИЯ ПОЛЬЗОВАТЬСЯ НЕЛЬЗЯ
осталось организовать выход из рекурсии или, если в уславии не уточняется, что надо напечатать только цисла от 1 до 100, просто забить на выход
Здравствуйте, Goodkov, Вы писали:
G>Здравствуйте, Дмитро, Вы писали:
Д>>Здравствуйте, Goodkov, Вы писали:
G>>>Приношу заранее извенения если такая задачу уже обсуждалась. Не помню где я ее взял, так что тоже приношу извенения, если нарушу чьи-то авторские права.
G>>>Задача состоит в следующем. Необходимо написать программу на С, которая выводит в столбец цифры от 0 до 100. Цель — получить как можно меньший размер исходника в символах(считая пробелы и т.д.). Запрещено пользоваться, операторами цикла (for, while ). Сам написал где-то в районе 50 символов, слышал про 41 (под gcc).
Д>>
Здравствуйте, Goodkov, Вы писали:
G>>main(i){printf("%i\n",i-1);main(i*i/(i%101)+1);} G>сорри за ламерство и как это откомпилировать???
У меня Turbo C++ 3 потребовал поставить инклуд стдио
И тело функции — на другую строку опустить. А так все сработало
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Gasy, Вы писали:
G>А в условии требуется корректный выход?
В принципе нет, но для красоты можно разделить задачу на две части,
одна с некорректным выходом, другая с корректным.
Есть решение с выходом по делению на ноль за 39 символов, но я его не знаю.
Есть мысль заменить в предидущих решениях функцию main например функцией m(i)
и если позволяет компилятор указать точку входа эту функцию, такое прокатит?
Просто проверить не могу, т.к. в данную минуту нет ни одного нормального
компилятора кроме BC++3.1, а там надо делать include <stdio.h>, а это уже не красиво.