Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#26 2005-10-31 09:25:40

ROBOT
Олімпієць
Звідки: Ялта
Зареєстрований: 2005-10-26
Повідомлень: 158

Re: -1й (минус первый) тур ;)

Rybak написав:

smile

Еще можно предложить отдельно рассматривать программы на, так сказать, абстрактном паскале, т.е. без аппаратной привязки. Я имею ввиду использование таблицы символов ASCII. Я не уверен что chr(34) даже сейчас выдаст кавычку на любой платформе, а использование chr значительно расширяет возможности. Давайте еще попробуем без этого.

если писать на абстрактном Паскале, то в нём нет ограничений на длину строки в программе. (поэтому все мои программы в одну строку)

без решёток:

CONST S:STRING='''CONST S:STRING=;BEGIN WRITE(COPY(S,2,??)+s[1]+S[1]+S+s[1]+COPY(S,??,??));END.'
;BEGIN WRITE(COPY(S,2,??)+s[1]+s[1]+S+s[1]+COPY(S,??,??));END.

Вместо вопросов надо написать числа, но лень считать...

Відредаговано ROBOT (2005-10-31 09:38:18)


I have Delphi 7, BP 7.0, FP 1.0.4, Windows XP
Мои решения олимпиад на  Паскале: http://h0h0l.narod.ru/
Моя проверялка: http://www.proveryalka.narod.ru/
ICQ: 266367671

Поза форумом

 

#27 2005-11-01 14:36:10

ROBOT
Олімпієць
Звідки: Ялта
Зареєстрований: 2005-10-26
Повідомлень: 158

Re: -1й (минус первый) тур ;)

И последний вариант

var v:string;begin v:='''ar v:string;begin v:=;insert(v,v[1]+v[1]+v+v[1],23);v[1]:=v[5];write(v);end.';insert(v,v[1]+v[1]+v+v[1],23);v[1]:=v[5];write(v);end.

Думаю больше сжать нельзя

P.S. - язык Ретро создавать не обязательно, на Бейсике можно написать пустую порграмму

Відредаговано ROBOT (2005-11-01 14:42:10)


I have Delphi 7, BP 7.0, FP 1.0.4, Windows XP
Мои решения олимпиад на  Паскале: http://h0h0l.narod.ru/
Моя проверялка: http://www.proveryalka.narod.ru/
ICQ: 266367671

Поза форумом

 

#28 2005-11-04 09:28:27

JohnGotty
Новий користувач
Зареєстрований: 2005-11-03
Повідомлень: 1

Re: -1й (минус первый) тур ;)

От вот у меня решение на 100% соотв. условию:
#include <stdio.h>

#define x(a) a,#a

void main()
{
    printf( x("\n#include <stdio.h>\n\n#define x(a) a,#a\n\nvoid main()\n{\n\tprintf( x(\x25s) );\n}") );
}

Відредаговано JohnGotty (2005-11-04 09:53:22)

Поза форумом

 

#29 2005-11-05 11:56:56

Rybak
Олімпієць
Звідки: Киев, Украина
Зареєстрований: 2005-10-04
Повідомлень: 83
Вебсайт

Re: -1й (минус первый) тур ;)

ROBOT написав:

И последний вариант

var v:string;begin v:='''ar v:string;begin v:=;insert(v,v[1]+v[1]+v+v[1],23);v[1]:=v[5];write(v);end.';insert(v,v[1]+v[1]+v+v[1],23);v[1]:=v[5];write(v);end.

Да уж, тут остается только аплодировать, поздравляю!

Можно уменьшить на 2 символа, т.к. точка с запятой перед end'ом не нужна, но сути это не меняет. Ух!

Поза форумом

 

#30 2005-11-05 11:57:58

Rybak
Олімпієць
Звідки: Киев, Украина
Зареєстрований: 2005-10-04
Повідомлень: 83
Вебсайт

Re: -1й (минус первый) тур ;)

JohnGotty написав:

От вот у меня решение на 100% соотв. условию:
#include <stdio.h>

#define x(a) a,#a

void main()
{
    printf( x("\n#include <stdio.h>\n\n#define x(a) a,#a\n\nvoid main()\n{\n\tprintf( x(\x25s) );\n}") );
}

С++ рулит smile
Красиво! Как раз получилось - 2 лучших решения в соседних постах.

Поза форумом

 

#31 2005-11-06 17:38:24

reiten
журі
Звідки: Киев
Зареєстрований: 2005-10-16
Повідомлень: 196

Re: -1й (минус первый) тур ;)

Я укоротил решение JohnGotty:

Код:

#include<stdio.h>
#define x(a) a,#a
main(){printf(x("#include<stdio.h>\n#define x(a) a,#a\nmain(){printf(x(\45s));}"));}

Відредаговано reiten (2005-11-06 17:55:29)


"...Существуют два подхода к проектированию программ. В одном архитектура делается настолько простой, что в ней явно нет дефектов; в другом - настолько сложной, что в ней нет явных дефектов".
С. А. Хоар

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt