Zadacha "Jazyk LIST-95"
Ocenka zadachi: 40 ballov
Laboratorija intellektual'nyh sistem razrabotala novyj jazyk
programmirovanija s nazvaniem LIST-95. Jazyk prednaznachen dlja raboty s dlinnymi
spiskami. Edinstvennyj tip v jazyke - jeto spisok iz celyh chisel, ne
prevoshodjaschih po modulju odnogo milliarda. Konstantami v jetom jazyke javljajutsja
konechnye arifmeticheskie progressii (kotorye zadajutsja nachal'nym jelementom,
raznost'ju i chislom jelementov). Raznost' progressii mozhet ravnjat'sja nulju,
togda spisok budet sostojat' iz zadannogo kolichestva odinakovyh chisel.
Edinstvennyj operator - jeto operator prisvaivanija, v pravoj chasti kotorogo
stoit libo progressija, libo binarnaja operacija, operandami kotoroj mogut byt'
tol'ko imena peremennyh. Dopustimymi javljajutsja sledujuschie operacii:
Sceplenie (konkatenacija) spiskov. Oboznachenie: A # B. Rezul'tat: spisok,
poluchennyj pripisyvaniem jelementov spiska B v konec spiska A.
Slozhenie spiskov odinakovoj dliny. Oboznachenie: A + B. Rezul'tat: spisok,
poluchennyj pojelementnym slozheniem jelementov spiskov A i B.
Umnozhenie spiskov odinakovoj dliny. Oboznachenie: A * B. Rezul'tat: spisok,
poluchennyj pojelementnym umnozheniem jelementov spiskov A i B.
Progressii predstavljajutsja v jazyke tak: , a operator prisvaivanija tak: Peremennaja := Konstanta ili
Peremennaja := Peremennaja Operacija Peremennaja. Peremennymi javljajutsja zaglavnye
bukvy latinskogo alfavita. Programma sostoit iz odnogo ili neskol'kih
operatorov prisvaivanija. Kazhdyj operator prisvaivanija zapisyvaetsja na
otdel'noj stroke. Rezul'tatom raboty programmy na jazyke LIST-95 javljaetsja
spisok, poluchennyj v poslednem operatore prisvaivanija.
Napishite programmu, kotoraja vvodit chislo N (1<=N<=1000000000),
programmu na jazyke LIST-95 i opredeljaet znachenie N-go jelementa rezul'tirujuschego
spiska.
Ishodnye dannye raspolozheny v tekstovom fajle (imja fajla vvoditsja s
klaviatury) po sledujuschemu formatu. Pervaja stroka soderzhit chislo N. So vtoroj
stroki i do konca fajla raspolozhena programma na jazyke LIST-95. Tekst
programmy ne soderzhit probelov i pustyh strok. V konce poslednej stroki
programmy simvolov perevoda stroki net.
Primechanija. Ishodnye dannye korrektny i ih proverka ne trebuetsja.
Programma, zadannaja vo vhodnom fajle ispolnjaetsja korrektno, t.e. v pravyh
chastjah prisvaivanij ispol'zujutsja tol'ko inicializirovannye peremennye i dliny
operandov u operacij slozhenija i umnozhenija spiskov sovpadajut. Kolichestvo strok
vo vhodnom fajle ne prevyshaet 100. Rezul'tat raboty programmy vyvoditsja na
jekran.
Primer fajla ishodnyh dannyh:
23
X:=<1,2,2000000>
A:=<2,2,2000000>
X:=X+X
A:=A#X
Dlja privedennogo vyshe primera programma dolzhna vydat', chto na 23-em stoit
chislo 46.
Ogranichenie vremeni: 1 minuta na kazhdyj test.