Цифры в столбик
От: Goodkov Россия  
Дата: 21.07.03 10:57
Оценка: 15 (2) +2
Приношу заранее извенения если такая задачу уже обсуждалась. Не помню где я ее взял, так что тоже приношу извенения, если нарушу чьи-то авторские права.

Задача состоит в следующем. Необходимо написать программу на С, которая выводит в столбец цифры от 0 до 100. Цель — получить как можно меньший размер исходника в символах(считая пробелы и т.д.). Запрещено пользоваться, операторами цикла (for, while ). Сам написал где-то в районе 50 символов, слышал про 41 (под gcc).
Re: Цифры в столбик
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 21.07.03 11:13
Оценка:
Здравствуйте, Goodkov, Вы писали:

G>Запрещено пользоваться, операторами цикла (for, while ).

А рекурсия — это цикл?
King Oleg
*Читайте DOC'и, они rules*
Re[2]: Цифры в столбик
От: Apostate  
Дата: 21.07.03 11:17
Оценка:
Здравствуйте, King Oleg, Вы писали:

KO>Здравствуйте, Goodkov, Вы писали:


G>>Запрещено пользоваться, операторами цикла (for, while ).

KO>А рекурсия — это цикл?

а goto?
Re: Цифры в столбик
От: LCR Россия lj://_lcr_
Дата: 21.07.03 11:35
Оценка:
Здравствуйте, Goodkov, Вы писали:

...

А перевод строки считать одним символом или двумя? (я про 0D0A).
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[3]: Цифры в столбик
От: Goodkov Россия  
Дата: 21.07.03 11:41
Оценка:
Здравствуйте, Apostate, Вы писали:

A>Здравствуйте, King Oleg, Вы писали:


KO>>Здравствуйте, Goodkov, Вы писали:


G>>>Запрещено пользоваться, операторами цикла (for, while ).

KO>>А рекурсия — это цикл?

A>а goto?


Забыл уточнить — нельзя также пользоваться оператором сравнения(if), а goto можно,
соответственно рекурсией тоже.
Re[2]: Цифры в столбик
От: Goodkov Россия  
Дата: 21.07.03 11:45
Оценка:
Здравствуйте, LCR, Вы писали:

LCR>Здравствуйте, Goodkov, Вы писали:


LCR>...


LCR>А перевод строки считать одним символом или двумя? (я про 0D0A).


2
Re: Цифры в столбик
От: Дмитро  
Дата: 21.07.03 11:57
Оценка: 9 (1)
Здравствуйте, Goodkov, Вы писали:

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


G>Задача состоит в следующем. Необходимо написать программу на С, которая выводит в столбец цифры от 0 до 100. Цель — получить как можно меньший размер исходника в символах(считая пробелы и т.д.). Запрещено пользоваться, операторами цикла (for, while ). Сам написал где-то в районе 50 символов, слышал про 41 (под gcc).


main(i){printf("%d\n",i-1);i<101?main(i+1):0;}


46 символов
--
Дмитрий
Re[2]: Цифры в столбик
От: Goodkov Россия  
Дата: 21.07.03 12:02
Оценка:
Здравствуйте, Дмитро, Вы писали:

Д>Здравствуйте, Goodkov, Вы писали:


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


G>>Задача состоит в следующем. Необходимо написать программу на С, которая выводит в столбец цифры от 0 до 100. Цель — получить как можно меньший размер исходника в символах(считая пробелы и т.д.). Запрещено пользоваться, операторами цикла (for, while ). Сам написал где-то в районе 50 символов, слышал про 41 (под gcc).


Д>
Д>main(i){printf("%d\n",i-1);i<101?main(i+1):0;}
Д>


Д>46 символов


Еще одно уточнение: НИКАКИМИ ОПЕРАТОРАМИ СРАВНЕНИЯ ПОЛЬЗОВАТЬСЯ НЕЛЬЗЯ
Re[3]: Цифры в столбик
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 21.07.03 12:14
Оценка:
Здравствуйте, Goodkov, Вы писали:

G>НИКАКИМИ ОПЕРАТОРАМИ СРАВНЕНИЯ ПОЛЬЗОВАТЬСЯ НЕЛЬЗЯ

осталось организовать выход из рекурсии или, если в уславии не уточняется, что надо напечатать только цисла от 1 до 100, просто забить на выход
King Oleg
*Читайте DOC'и, они rules*
Re: Цифры в столбик
От: Gasy Россия  
Дата: 21.07.03 12:18
Оценка: :))
main(i){printf("%i\n",i-1);main(i*i/(i%101)+1);}
Re[2]: Цифры в столбик
От: Goodkov Россия  
Дата: 21.07.03 12:45
Оценка:
Здравствуйте, Gasy, Вы писали:

G>main(i){printf("%i\n",i-1);main(i*i/(i%101)+1);}

сорри за ламерство и как это откомпилировать???
Re[3]: Цифры в столбик
От: Gasy Россия  
Дата: 21.07.03 12:53
Оценка:
G>сорри за ламерство и как это откомпилировать???
Мож в какой букве ошибся, но у меня gcc file_name.c
Re[3]: Цифры в столбик
От: Дмитро  
Дата: 21.07.03 14:13
Оценка:
Здравствуйте, Goodkov, Вы писали:

G>Здравствуйте, Дмитро, Вы писали:


Д>>Здравствуйте, Goodkov, Вы писали:


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


G>>>Задача состоит в следующем. Необходимо написать программу на С, которая выводит в столбец цифры от 0 до 100. Цель — получить как можно меньший размер исходника в символах(считая пробелы и т.д.). Запрещено пользоваться, операторами цикла (for, while ). Сам написал где-то в районе 50 символов, слышал про 41 (под gcc).


Д>>
Д>>main(i){printf("%d\n",i-1);i<101?main(i+1):0;}
Д>>


Д>>46 символов


G>Еще одно уточнение: НИКАКИМИ ОПЕРАТОРАМИ СРАВНЕНИЯ ПОЛЬЗОВАТЬСЯ НЕЛЬЗЯ

Это которые больше меньше? А арифметическими?
main(i){printf("%d\n",i-1);i-101?main(i+1):0;}


Поскольку мне кажется, что терпения у меня не хватит ставить такие рекорды, то в соответствии с процедурой nikholas'а
Автор: nikholas
Дата: 11.07.03
ставлю тебе в задачу согласен.
--
Дмитрий
Re[2]: Цифры в столбик
От: Зеленый Россия  
Дата: 21.07.03 15:32
Оценка:
Здравствуйте, Gasy, Вы писали:

G>main(i){printf("%i\n",i-1);main(i*i/(i%101)+1);}


Ай-ай-ай условие выхода = division by zero
Re[3]: Цифры в столбик
От: LaptevVV Россия  
Дата: 21.07.03 15:52
Оценка:
Здравствуйте, Goodkov, Вы писали:

G>>main(i){printf("%i\n",i-1);main(i*i/(i%101)+1);}

G>сорри за ламерство и как это откомпилировать???
У меня Turbo C++ 3 потребовал поставить инклуд стдио
И тело функции — на другую строку опустить. А так все сработало
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Цифры в столбик
От: Gasy Россия  
Дата: 22.07.03 06:31
Оценка:
З> Ай-ай-ай условие выхода = division by zero
А в условии требуется корректный выход?
Re[2]: Цифры в столбик
От: Demon Россия  
Дата: 22.07.03 06:34
Оценка: 5 (1)
Здравствуйте, Дмитро, Вы писали:

Д>
Д>main(i){printf("%d\n",i-1);i<101?main(i+1):0;}
Д>


Д>46 символов


main(i){printf("%d\n",i-1);i<101&&main(i+1);}

45
Re[4]: Цифры в столбик
От: Goodkov Россия  
Дата: 22.07.03 07:05
Оценка:
Здравствуйте, Gasy, Вы писали:

G>А в условии требуется корректный выход?

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

Есть решение с выходом по делению на ноль за 39 символов, но я его не знаю.
Есть мысль заменить в предидущих решениях функцию main например функцией m(i)
и если позволяет компилятор указать точку входа эту функцию, такое прокатит?
Просто проверить не могу, т.к. в данную минуту нет ни одного нормального
компилятора кроме BC++3.1, а там надо делать include <stdio.h>, а это уже не красиво.
Re[3]: Цифры в столбик
От: ЖуК Украина http://smart-ip.net/
Дата: 30.07.03 07:23
Оценка:
Здравствуйте, Demon, Вы писали:

D>Здравствуйте, Дмитро, Вы писали:


Д>>
Д>>main(i){printf("%d\n",i-1);i<101?main(i+1):0;}
Д>>


Д>>46 символов


D>
D>main(i){printf("%d\n",i-1);i<101&&main(i+1);}
D>

D>45


main(i){cout<<i-1<<"\n";i<101&&main(i+1);}

42
_____________________________________________________________
"Голова — кость, поэтому болеть не может..." © Неизвестный автор
Re[4]: Цифры в столбик
От: m.a.g. Мальта http://dottedmag.net/
Дата: 30.07.03 13:00
Оценка:
Здравствуйте, ЖуК, Вы писали:

ЖуК>
ЖуК>main(i){cout<<i-1<<"\n";i<101&&main(i+1);}
ЖуК>

ЖуК>42

Не пойдет. В C++, в отличие от C, обязательно объявление функций перед использованием.
... << RSDN@Home 1.1 beta 1 >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.