Nivelul concursului: Național
http://oni.isjbrasov.ro/ http://oni2017.host4u.ro/
Grupe
Clasa a V-a Clasa a VI-a Clasa VII-a Clasa VIII-a Clasa a IX-a Clasa a X-a Clasele XI-XII Juniori Seniori#2148
ADN
Pe Marte s-au descoperit N
marțieni, identificați de către oamenii de știință de pe Pământ prin numerele de la 1
la N
. Cercetările au dovedit că ADN-ul oricărui marțian X
este format din mulțimea factorilor primi din descompunerea lui X
.
Se știe că marțianul cu numărul de ordine Y
îl moștenește pe marțianul cu numărul de ordine X
dacă ADN(X)
este inclus în ADN(Y)
, adică mulțimea factorilor primi ai lui X
este inclusă în mulțimea factorilor primi ai lui Y
.
Trebuie să specificăm că se pot întâlni situații extreme în care X
îl moștenește pe Y
dar și Y
îl moștenește pe X
, atunci când cei doi marțieni au ADN-urile egale.
Realizați un program care, considerând mulțimea celor N
marțieni, determină numărul de perechi de marțieni (Y, X)
pentru care Y
îl moștenește pe X
, unde 1 ≤ X ≤ N
și 1 ≤ Y ≤ N
.
ONIGIM 2017, Baraj juniori
#2149
AN
Ana şi Bogdan au inventat încă un joc. Jocul are jetoane, albe şi negre, care iniţial se aşază într-un teanc, într-o ordine oarecare. Numim configuraţie succesiunea culorilor tuturor jetoanelor din teanc (în ordine, începând din vârful teancului). Un jeton alb va fi codificat prin litera A
, iar un jeton negru prin litera N
.
La o mutare un jucător poate lua din vârful teancului oricâte jetoane consecutive (dar cel puţin un jeton), cu condiţia ca toate jetoanele luate să aibă aceeaşi culoare. Jucătorii mută alternativ, prima la mutare fiind Ana. Jocul va fi câştigat de jucătorul care ia ultimul jeton.
Spunem că un jucător are strategie sigură de câştig dacă el, urmând această strategie, câştigă jocul, indiferent care sunt mutările celuilalt jucător.
Scrieţi un program care citeşte T
configuraţii şi determină pentru fiecare dintre cele T
configuraţii dacă Ana are strategie sigură de câştig.
ONIGIM 2017, Baraj juniori
#2151
SLang
SLang este o versiune a aplicației Scratch care pune la dispoziție șapte instrucțiuni de tip I1
, I2
, I3
, I4
, I5
, I6
, I7
prezentate în enunț.
Un program corect este o succesiune de instrucţiuni care respectă următoarele reguli:
1. Începe cu o instrucțiune de tip I1
şi se termină cu o instrucțiune de tip I7
.
2. Între instrucţiunea de tip I1
şi instrucţiunea de tip I7
vor exista una, două sau mai multe instrucţiuni de tipurile I2
, I3
, I4
, I5
sau I6
, fără a utiliza două instrucţiuni de acelaşi tip; fiecare dintre aceste instrucţiuni poate să conţină alte instrucţiuni, conform cu regulile specificate.
3. Corpul unei instrucțiuni de tip I4
poate conține una sau două instrucțiuni de mișcare (adică de tip I2
sau I3
) și nu poate conține instrucțiuni de alt tip.
4. Fiecare dintre cele două ramuri ale unei instrucțiuni de tip I5
(ramura daca
şi ramura daca nu
) poate conține una sau două instrucțiuni de tip I2
sau I3
și nu poate conține instrucțiuni de alt tip.
5. Corpul unei instrucțiuni de tip I6
poate conține una, două sau mai multe instrucţiuni de tipurile I2
, I3
, I4
, I5
sau I6
, fără a utiliza două instrucţiuni de acelaşi tip; similar, fiecare dintre aceste instrucţiuni poate să conţină alte instrucţiuni, conform cu regulile specificate.
Nivelul de imbricare al unui program corect va fi egal cu numărul de instrucţiuni de tip I6
existente în program.
Dat fiind numărul natural K
, reprezentând nivelul de imbricare, scrieţi un program care să rezolve următoarele cerinţe:
K
;K
.ONIGIM 2017, Baraj juniori