ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării,...

25
Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012 Sursa: ID1.c, ID1.cpp, ID1.pas Problema 1 – alice 100 puncte Într-o zi frumoasă de vară, Alice se juca în parc. Deodată, văzu un iepure cu ceas, numit Iepurele Alb, sărind grăbit în scorbura unui copac. Curioasă, Alice îl urmări şi sări şi ea în scorbură. Spre mirarea ei, ajunse într-o sală mare cu N uşi încuiate. Pe fiecare uşă era scris câte un număr natural. Într-o clipă, lângă ea apăru Iepurele Alb şi-i spuse că doar uşile cu numere magice pot fi deschise dacă are cheile potrivite. Pentru a o ajuta, Iepurele Alb i-a explicat că un număr magic este un număr natural care poate fi redus la o cifră prin complementarea cifrelor acestuia faţă de cifra sa maximă din scrierea zecimală, apoi prin complementarea cifrelor numărului obţinut faţă de cifra sa maximă şi aşa mai departe până când se obţine o cifră. Evident, nu toate numerele naturale sunt numere magice. De exemplu, uşa cu numărul 1234 poate fi deschicu cheia inscripţionată cu cifra 1 deoarece 1234 este un număr magic ce poate fi redus la cifra 1 prin complementări repetate (1234321012321012101), iar uşa cu numărul 1204 nu poate fi deschisă deoarece 1204 nu este un număr magic (indiferent de câte ori s-ar repeta complementarea nu poate fi redus la o cifră: 12043240120432401204 ….). Înainte să dispară, Iepurele Alb îi dădu o cheie aurie inscripţionată cu cifra K şi o avertiză poate deschide cu această cheie doar uşile cu numere magice ce pot fi reduse la cifra K. Cerinţe. Scrieţi un program care să citească numerele naturale N, K şi cele N numere naturale scrise pe cele N uşi, şi care să determine: a) cel mai mare număr par dintre numerele scrise pe cele N uşi; b) numărul uşilor care pot fi deschise cu cheia aurie inscripţionată cu cifra K. Date de intrare. Fişierul alice.in conţine: pe prima linie cele două numere naturale N şi K, separate printr-un spaţiu; pe a doua linie N numere naturale, separate prin câte un spaţiu, reprezentând numerele scrise pe cele N uşi. Date de ieşire. Fişierul alice.out va conţine: pe prima linie, un număr natural reprezentând cel mai mare număr par dintre numerele scrise pe cele N uşi; pe a doua linie, un număr natural reprezentând numărul uşilor care pot fi deschise cu cheia aurie inscripţionată cu cifra K. Restricţii şi precizări: complementarea cifrelor unui număr natural faţă de cifra sa maximă din scrierea zecimală constă în înlocuirea fiecărei cifre c din număr cu diferenţa dintre cifra maximă şi cifra c; de exemplu, cifra maximă a numărului 1234 este 4 iar prin complementare se înlocuieşte cifra 1 cu 3(=4-1), cifra 2 cu 2(=4-2), cifra 3 cu 1 (=4-3) şi cifra 4 cu 0(=4-4) rezultând numărul 3210; 7 N 10000; 0 K 9; pe fiecare uşă este scris un singur număr natural; există cel puţin o uşă pe care este scris un număr par; numărul scris pe oricare uşă (din cele N) este mai mare sau egal cu 10 şi mai mic sau egal cu 32800; pentru rezolvarea corectă a cerinţei a) se acordă 20% din punctaj, iar pentru rezolvarea corectă a ambelor cerinţe se acordă 100% din punctaj. Exemplu: alice.in alice.out Explicaţii 7 1 1204 1234 13 195 23 10 888 1234 3 a) Sunt N=7 uşi pe care sunt scrise numerele 1204, 1234, 13, 195, 23, 10, 888. Cel mai mare număr par dintre cele scrise pe uşi este 1234, număr care se va scrie pe prima linie a fişierului alice.out. b) Cheia primită este inscripţionată cu cifra K=1 şi deschide 3 uşi cu numerele 1234, 23 şi 10 deoarece numerele magice dintre cele scrise pe uşi sunt: 1234 (12343210123210 12101), 13(13202), 195(195804844), 23(23101), 10(101), 888 (8880). Numărul 1204 nu este un număr magic. Astfel numărul 3 se va scrie pe a doua linie a fişierului alice.out. Timp maxim de executare/test: 1 secundă Limite de memorie: total memorie disponibilă 2 MB, din care pentru stivă maxim 2 MB Dimensiunea maximă a sursei 10 KB

Transcript of ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării,...

Page 1: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012 Sursa: ID1.c, ID1.cpp, ID1.pas Problema 1 – alice 100 puncte Într-o zi frumoasă de vară, Alice se juca în parc. Deodată, văzu un iepure cu ceas, numit Iepurele Alb, sărind grăbit în scorbura unui copac. Curioasă, Alice îl urmări şi sări şi ea în scorbură. Spre mirarea ei, ajunse într-o sală mare cu N uşi încuiate. Pe fiecare uşă era scris câte un număr natural. Într-o clipă, lângă ea apăru Iepurele Alb şi-i spuse că doar uşile cu numere magice pot fi deschise dacă are cheile potrivite. Pentru a o ajuta, Iepurele Alb i-a explicat că un număr magic este un număr natural care poate fi redus la o cifră prin complementarea cifrelor acestuia faţă de cifra sa maximă din scrierea zecimală, apoi prin complementarea cifrelor numărului obţinut faţă de cifra sa maximă şi aşa mai departe până când se obţine o cifră. Evident, nu toate numerele naturale sunt numere magice. De exemplu, uşa cu numărul 1234 poate fi deschisă cu cheia inscripţionată cu cifra 1 deoarece 1234 este un număr magic ce poate fi redus la cifra 1 prin complementări repetate (1234321012321012101), iar uşa cu numărul 1204 nu poate fi deschisă deoarece 1204 nu este un număr magic (indiferent de câte ori s-ar repeta complementarea nu poate fi redus la o cifră: 12043240120432401204 ….). Înainte să dispară, Iepurele Alb îi dădu o cheie aurie inscripţionată cu cifra K şi o avertiză că poate deschide cu această cheie doar uşile cu numere magice ce pot fi reduse la cifra K. Cerinţe. Scrieţi un program care să citească numerele naturale N, K şi cele N numere naturale scrise pe cele N uşi, şi care să determine:

a) cel mai mare număr par dintre numerele scrise pe cele N uşi; b) numărul uşilor care pot fi deschise cu cheia aurie inscripţionată cu cifra K.

Date de intrare. Fişierul alice.in conţine: − pe prima linie cele două numere naturale N şi K, separate printr-un spaţiu; − pe a doua linie N numere naturale, separate prin câte un spaţiu, reprezentând numerele scrise pe cele N uşi. Date de ieşire. Fişierul alice.out va conţine: − pe prima linie, un număr natural reprezentând cel mai mare număr par dintre numerele scrise pe cele N uşi; − pe a doua linie, un număr natural reprezentând numărul uşilor care pot fi deschise cu cheia aurie inscripţionată cu

cifra K.

Restricţii şi precizări: − complementarea cifrelor unui număr natural faţă de cifra sa maximă din scrierea zecimală constă în înlocuirea

fiecărei cifre c din număr cu diferenţa dintre cifra maximă şi cifra c; de exemplu, cifra maximă a numărului 1234 este 4 iar prin complementare se înlocuieşte cifra 1 cu 3(=4-1), cifra 2 cu 2(=4-2), cifra 3 cu 1 (=4-3) şi cifra 4 cu 0(=4-4) rezultând numărul 3210;

− 7 ≤ N ≤ 10000; 0 ≤ K ≤ 9; − pe fiecare uşă este scris un singur număr natural; − există cel puţin o uşă pe care este scris un număr par; − numărul scris pe oricare uşă (din cele N) este mai mare sau egal cu 10 şi mai mic sau egal cu 32800; − pentru rezolvarea corectă a cerinţei a) se acordă 20% din punctaj, iar pentru rezolvarea corectă a ambelor cerinţe

se acordă 100% din punctaj.

Exemplu: alice.in alice.out Explicaţii 7 1 1204 1234 13 195 23 10 888

1234 3

a) Sunt N=7 uşi pe care sunt scrise numerele 1204, 1234, 13, 195, 23, 10, 888. Cel mai mare număr par dintre cele scrise pe uşi este 1234, număr care se va scrie pe prima linie a fişierului alice.out. b) Cheia primită este inscripţionată cu cifra K=1 şi deschide 3 uşi cu numerele 1234, 23 şi 10 deoarece numerele magice dintre cele scrise pe uşi sunt: 1234 (12343210123210 12101), 13(13202), 195(195804844), 23(23101), 10(101), 888 (8880). Numărul 1204 nu este un număr magic. Astfel numărul 3 se va scrie pe a doua linie a fişierului alice.out.

Timp maxim de executare/test: 1 secundă Limite de memorie: total memorie disponibilă 2 MB, din care pentru stivă maxim 2 MB Dimensiunea maximă a sursei 10 KB

Page 2: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012 Sursa: ID2.c, ID2.cpp, ID2.pas Problema 2 - porumb 100 puncte

Locuitorii planetei Agria, numiţi agri, au hotărât ca în celebrul an 2012 să le explice pământenilor cum trebuie cules „eficient” un rând cu n porumbi, numerotaţi, în ordine, cu 1, 2, 3,..., n. Cei n porumbi sunt culeşi de mai mulţi agri. Primul agri merge de-a lungul rândului, plecând de la primul porumb şi culege primul porumb întâlnit, al treilea, al cincilea şi aşa mai departe până la capătul rândului. Atunci când ajunge la capătul rândului, porneşte al doilea agri şi culege porumbi respectând aceeaşi regulă ca şi primul agri. Metoda se repetă până când toţi porumbii sunt culeşi. Pământeanul Ionel încearcă să descopere ce ascunde această metodă şi se gândeşte câţi porumbi culege primul agri, câţi agri culeg un rând cu n porumbi, la a câta trecere este cules porumbul cu numărul x şi care este numărul ultimului porumb cules.

Exemplu: Dacă pe un rând sunt n=14 porumbi atunci sunt 4 agri care culeg porumbii:

• primul agri culege porumbii 1,3,5,7,9,11,13;

• al doilea agri culege porumbii 2,6,10,14;

• al treilea agri culege porumbii 4 şi 12;

• ultimul agri culege porumbul 8.

Cerinţe. Pentru a-l ajuta pe Ionel să descopere secretul acestei metode, scrieţi un program care citeşte cele două numere naturale n şi x şi care determină:

a) numărul de porumbi culeşi de primul agri; b) numărul de agri care culeg şirul de n porumbi; c) numărul trecerii la care este cules porumbul cu numărul x; d) numărul ultimului porumb cules.

Date de intrare. Fişierul porumb.in conţine pe prima linie, separate printr-un spaţiu, cele două numere naturale n şi x cu semnificația din enunţ.

Date de ieşire. Fişierul de ieşire porumb.out va conţine patru linii: − pe prima linie se va scrie un număr natural reprezentând numărul de porumbi culeşi de primul agri; − pe a doua linie se va scrie un număr natural reprezentând numărul de agri care culeg cei n porumbi; − pe a treia linie se va scrie un număr natural, reprezentând numărul trecerii la care este cules porumbul x; − pe a patra linie se va scrie un număr natural, reprezentând numărul ultimului porumb cules.

Restricţii şi precizări:

− 1≤x≤n≤1000000000 − Trecerile se numerotează în ordine, începând cu valoarea 1. − Pentru rezolvarea corectă a cerinţei a) se acordă 10% din punctaj. − Pentru rezolvarea corectă a cerinţelor a) şi b) se acordă 40% din punctaj. − Pentru rezolvarea corectă a cerinţelor a), b) şi c) se acordă 70% din punctaj. − Pentru rezolvarea corectă a celor patru cerinţe se acordă 100% din punctaj. Exemplu:

porumb.in porumb.out Explicaţii 14 4 7

4 3 8

7 reprezintă numărul de porumbi culeşi de primul agri. Sunt 4 agri care culeg rândul cu n=14 porumbi. Porumbul x=4 este cules la a 3-a trecere iar ultimul porumb cules are numărul 8.

Timp maxim de executare/test: 1 secundă Limite de memorie: total memorie disponibilă 2 MB, din care pentru stivă maxim 2 MB Dimensiunea maximă a sursei 10 KB

Page 3: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei Cercetării Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V–a 17 ianuarie 2010

Problema 1 – sir 100 puncte

Se generează un şir de numere naturale ai cărui primi termeni sunt, în ordine: 1, 12, 21, 123, 231, 312, 1234, 2341, 3412, 4123, 12345, 23451,...

Cerinţe: Deduceţi regula după care sunt generaţi termenii şirului şi scrieţi un program care să citească numerele naturale k, x, a şi b şi care să determine: a) ultima cifră a sumei tuturor termenilor şirului care sunt formaţi din cel mult k cifre; b) succesorul termenului x în şirul dat, x fiind un termen al şirului; c) numărul de termeni ai şirului care au cifra cea mai semnificativă egală cu a şi nu conţin în scrierea lor cifra b.

Date de intrare Fişierul de intrare sir.in conţine o singură linie pe care sunt scrise cele patru numere naturale k, x, a şi b, separate prin câte un spaţiu.

Date de ieşire Fişierul de ieşire sir.out va conţine 3 linii:

– pe prima linie se va scrie un număr natural reprezentând ultima cifră a sumei tuturor termenilor şirului care sunt formaţi din cel mult k cifre;

– pe a doua linie se va scrie un număr natural reprezentând succesorul termenului x în şirul dat; – pe a treia linie se va scrie un număr natural reprezentând numărul de termeni ai şirului care au cifra cea mai

semnificativă egală cu a şi nu conţin în scrierea lor cifra b.

Restricţii şi precizări:

• Numerele k, x, a şi b sunt naturale nenule • 1 ≤ k ≤ 9 • x este un termen al şirului din enunţ şi are succesor în şir • succesorul termenului x în şir este termenul care urmează imediat după x (de exemplu, dacă x=2341 atunci

succesorului lui x în şir este 3412) • 1 ≤ x < 900000000 • 1 ≤ a ≤ 9; 1 ≤ b ≤ 9; a ≠ b • cifra cea mai semnificativă a unui număr natural este prima cifră din scrierea sa, de la stânga la dreapta (de

exemplu cifra cea mai semnificativă a numărului 32156 este 3) • Pentru rezolvarea cerinţei a) se acordă 30% din punctaj, pentru cerinţa b) 40% din punctaj şi pentru cerinţa c)

30% din punctaj.

Exemplu:

sir.in sir.out Explicaţii 3 45123 3 6 0

51234 3

Termenii şirului formaţi fiecare din cel mult k=3 cifre sunt: 1, 12, 21, 123, 231, 312. Suma lor fiind egală cu 700, pe prima linie a fişierului sir.out se va scrie cifra 0 (ultima cifră a sumei). Succesorul termenului 45123 este 51234, valoare care se va scrie pe a doua linie a fişierului sir.out. Sunt 3 numere care încep cu cifra 3 şi care nu conţin cifra 6 şi anume: 312, 3412, 34512. Astfel, numărul 3 se scrie pe a treia linie a fişierului sir.out.

Timp maxim de execuţie/test: 1 secundă

Page 4: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Clasa a V-a Problema 1 (100 puncte) Exponent Se dă un număr natural n şi o cifră k din mulţimea {2, 3, 5, 7}. Cerinţă Se cere să se afişeze exponentul lui k în descompunerea în factori primi a produsului 1·2·3·...·n. Date de intrare De la tastatură se citesc n şi k. Date de ieşire Pe ecran se va afişa un singur număr natural, adică exponentul cerut de problemă. Restricţii n≤100 Exemplu Pentru n=6 k=3 se va afişa 2 Observaţie Se va afişa 2 pentru că 1·2·3·...·6=24·32·5 şi deci 3 are exponetul 2 în descompunerea în factori primi. Timp maxim de executare: 1 secundă/test.

Page 5: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Clasa a V-a Problema 2 (100 puncte) Pinochio

În fiecare zi lucrătoare din săptămână, Pinochio spune câte o minciună datorită căreia

nasul acestuia creşte cu câte p centimetri pe zi. Sâmbăta şi duminica, când vine bunicul

Gepeto acasă, pentru a nu-l supăra prea tare, Pinochio reuşeşte să nu spună nici o minciună,

ba chiar uitându-se în oglindă observă că în fiecare din aceste zile lungimea nasului său scade

cu cate 1 centimetru pe zi. Când începe o nouă săptămână, rămânâd singur acasă Pinochio

continuă şirul minciunilor.

Cerinţă

Care este dimensiunea nasului lui Pinochio după k zile ştiind că iniţial nasul său

măsura n centimetri.

Date de intrare De la tastatură se citesc n, p şi k. Date de ieşire Pe ecran se va afişa un singur număr natural, adică numărul de centimetri cerut de problemă. Restricţii 1≤n≤1000, 1≤k≤256, 1≤p≤100

Exemplu Pentru n=2 p=1 k=8 se va afişa 6 cm Observaţie Pentru orice exemplu zilele încep cu luni. Pe exemplul anterior zilele sunt luni, marţi, miercuri, joi, vineri, sâmbătă, duminică, luni. Timp maxim de executare: 1 secundă/test.

Page 6: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Olimpiada Judeţeană de Informatică Februarie 2004 Clasa a V-a Problema 2. "Concurs" 100 puncte La un concurs de matematică participă elevi din mai multe şcoli din diferite oraşe. Pentru a se putea deosebi între ele lucrările lor, fiecare lucrare este codificată printr-un număr natural cu 3 cifre, să zicem abc, unde a (cifra sutelor) este codul oraşului, b (cifra zecilor) este codul şcolii din oraşul a, iar c (cifra unităţilor) este codul unui elev din şcoala b din oraşul a. Exemplu: lucrarea cu codul 328 este lucrarea elevului cu codul 8 de la şcoala cu codul 2 din oraşul cu codul 3.

Se cunosc: un cod (al lucrării unui elev H, prietenul nostru), numărul n de lucrări premiate şi codurile acestora. Cerinţă Se cere să se rezolve cerinţele: a) Verificaţi dacă H este premiant, sau nu. b) Determinaţi numărul de premii luate de elevii din oraşul lui H (inclusiv H, dacă a fost premiat). c) Determinaţi numărul de premii luate de elevii din şcoala lui H (inclusiv H, dacă a fost premiat). Date de intrare De la tastatură se citesc: codul lui H, n, cele n coduri premiate. Date de ieşire Cele 3 răspunsuri se vor afişa pe ecran, pe câte un rând. Pentru prima cerinţă se va afişa un mesaj (DA, sau NU), după cum H a luat, sau nu a luat premiu. La cerinţele b) şi c) se va scrie câte un număr. Fiecare răspuns va fi precedat de o literă (a, b, sau c), pentru a se preciza la ce cerinţă s-a răspuns. Restricţii n este un număr natural nenul; n<20. Codul de oraş (cifra sutelor din fiecare cod) este de la 1 la 5, inclusiv. Codurile şcolilor din fiecare oraş (cifra zecilor) este de la 0 la 9, inclusiv, iar codul elevilor (cifra unităţilor) este tot de la 0 la 9 inclusiv. Observaţie Datele de intrare sunt corecte (nu necesită validare). Exemplu Pentru codul lui H: 234, numărul n=6 şi cele 6 coduri ale lucrărilor premiate: 123, 232, 125, 222, 421 şi 235, se vor da răspunsurile: a) NU b) 3 c) 2 Explicaţie a) codul lui H nu se regăseşte printre cele citite (premiate), deci mesajul este NU b) lucrările premiate din orasul lui H (cu cifra sutelor egală cu 2) sunt în număr de 3: 232, 222 şi 225 c) lucrările premiate din şcoala lui H (cu cifra sutelor egală cu 2 şi cu cifra zecilor egală cu 3) sunt în număr de 2: 232 şi 235. Timp de executare: 1 secundă/test.

Page 7: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei şi Cercetării Olimpiada de Informatică Clasa a V-a Faza judeţeană, 19 martie 2006 Problema 1 – Case 100 puncte

Păcală, tocmai a fost ales primar în satul său, motiv pentru care şi-a luat rolul în serios şi dorind să aibă o evidenţă clară a sătenilor a numerotat casele din sat astfel încât să ştie câţi bărbaţi, femei şi copii locuiesc în fiecare casă.

Astfel, toate casele au un număr format din 3 cifre, unde prima cifră (de la stânga la dreapta) reprezintă numărul de bărbaţi ce locuiesc în acea casă (pot fi maxim 9 bărbaţi), a doua cifră reprezintă numărul de femei (pot fi maxim 9 femei), şi în fine ultima cifră a numărului reprezintă numărul de copii (maxim 9) ce aparţin familiei din acea casă. Cerinţă

Cunoscându-se numărul de case din satul lui Păcală, precum şi numerele acestora să se determine:

- numărul total al sătenilor din sat. - numărul minim de membrii ai unei familii. - câte familii au număr minim de membrii.

Date de intrare De la tastatură se citesc n, numărul de case şi apoi n numere naturale de 3 cifre, care reprezintă numerele caselor. Date de ieşire Pe primul rând de ecran se va afişa numărul total al sătenilor. Pe al doilea rând al ecranului se va afişa numărul minim de membrii ai unei case. Pe al treilea rând al ecranului se va afişa numărul familiilor cu număr minim de membri. Restricţii şi precizări

- numărul de case este mai mic decât 100 - în fiecare casă există cel puţin un bărbat şi cel puţin o femeie.

Exemplu Date de intrare

Explicaţie Date de ieşire

6 232 215 340 325 450 124

6 case casa 1 : 2 bărbaţi, 3 femei, 2 copii casa 2 : 2 bărbaţi, 1 femei, 5 copii casa 3 : 3 bărbaţi, 4 femei, 0 copii casa 4 : 3 bărbaţi, 2 femei, 5 copii casa 5 : 4 bărbaţi, 5 femei, 0 copii casa 6 : 1 bărbaţi, 2 femei, 4 copii Numărul total al sătenilor : 48 Numărul minim de membrii : 7 Numărul de familii cu număr minim : 3 (familiile din casele 1, 3 şi 6)

48 7 3

Timp maxim de execuţie/test: 1 secundă

Page 8: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Olimpiada Naţională de Informatică pentru Gimnaziu Clasa a V-a Problema 1 – La şcoală

Directorul unei şcoli doreşte să premieze la sfârşitul anului şcolar pe cei mai buni elevi la învăţătură. Pentru acest lucru el are de rezolvat două probleme: 1. Să determine câţi elevi vor fi premiaţi dintre cei n (2≤n≤700) elevi ai şcolii. După discuţii aprinse cu

ceilalţi profesori se hotărăşte în Consiliul Profesoral ca numărul premianţilor să fie n-k, unde k este cel mai mare număr pătrat perfect mai mic strict decât n. De exemplu, pentru n=150, k este 144 (pentru că 144=122), deci vor fi premiaţi 150-144=6 elevi.

2. Pentru a fi cât mai multă linişte la premiere, în Consiliul Profesoral se ia decizia ca elevii care nu vor fi premiaţi să fie aşezaţi pe terenul de sport pe rânduri de câte p elevi (unde p2=k). În acest scop, directorul a numerotat elevii nepremiaţi de la 1 la k şi a hotărât ca elevii să fie aşezaţi în ordinea descrescătoare a numerelor asociate.

Cerinţă Scrieţi un program care: – citeşte de la tastatură n, numărul de elevi din şcoală; – determină şi afişează pe ecran numărul de elevi premiaţi; – afişează pe ecran modul de aşezare a elevilor nepremiaţi Exemplu Un exemplu de execuţie a programului creat de voi ar putea fi: Introduceţi numărul de elevi din scoala n = 35 Numarul de elevi premiati: 10 Elevii nepremiati: 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Problema 2 – Balaur A fost o dată un balaur cu 6 capete. Într-o zi Făt-Frumos s-a supărat şi i-a tăiat un cap. Peste noapte i-au crescut alte 6 capete în loc. Pe acelaşi gât! A doua zi, Făt-Frumos iar i-a tăiat un cap, dar peste noapte balaurului i-au crescut în loc alte 6 capete ... şi tot aşa timp de n zile. În cea de a (n+1)-a zi, Făt-Frumos s-a plictisit şi a plecat acasă! Cerinţă Scrieţi un program care citeşte de la tastatură n, numărul de zile, şi care afişează pe ecran câte capete avea balaurul după n zile.

Exemplu Pentru n=3, programul va afişa: Dupa 3 zile balaurul are 15 capete. Explicaţie: Iniţial balaurul avea 6 capete. În prima zi Făt-Frumos i-a tăiat un cap şi i-au rămas 5. Peste noapte i-au crescut alte 6, deci a doua zi dimineaţa balaurul avea 11 capete. În cea de a doua zi Făt-Frumos îi mai taie balaurului un cap, deci balaurul rămâne cu 10 capete. Peste noapte îi mai cresc 6, astfel că a treia zi dimineaţă balaurul avea 16 capete. Dar în cea de a treia zi Făt-Frumos îi mai taie balaurului un cap, deci după cea de a treia zi balaurul a rămas cu 15 capete.

Notă: Timp de lucru: 3 ore. Fiecare problemă se punctează cu 100 puncte.

Page 9: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Concurs online de informatică

Categoria PROGRAMARE

Secţiunea 5-6 începători

Ploiești, 6 iunie 2015

PROBLEMA 1 100 puncte

DANS

De 1 Iunie - Ziua Copilului se organizează un spectacol de dans cu și pentru copii. Acesta este

programat să se desfășoare în intervalul orar 10.30 -12.00.

În spectacol se înscriu n trupe de dans, iar pentru fiecare trupă se cunoaște timpul necesar realizării

dansului exprimat în minute, precum și numărul de copii din trupă.

Cerințe:

Cunoscând n, numărul de trupe înscrise, cele n perechi (t, c) unde t reprezintă timpul în minute

(minim 5 minute – maxim 15 minute) și c numărul de copii din trupa scrieți un program care:

a) Verifică dacă toate cele n echipe înscrise în spectacol se încadrează în timpul alocat

spectacolului și afișează mesajul „NU” dacă timpul este mai mare decât cel programat, în

caz contrar afișează mesajul „DA”.

b) Calculează cu câte minute este programul incomplet sau depășit.

c) Calculează câți copii au fost implicați în realizarea spectacolului.

d) Calculează care este cel mai mare și cel mai mic timp alocat unui dans.

Date de intrare:

Pe prima linie a fișierului dans.in se află n, numărul de trupe înscrise, iar pe următoarele linii cele n

perechi de forma de mai sus.

Date de ieșire:

Datele conform cerințelor a) - d) se vor afișa în fișierul dans.out, răspunsul fiecărei cerințe fiind

scris pe câte o linie. La punctul d) cele 2 valori se vor despărți prin spațiu.

Exemplu:

dans.in dans.out Explicații

8

10 6

8 5

9 6

12 10

10 12

5 6

7 8

9 8

DA

20

61

12 5

Timpul total al dansurilor este 70 min și se încadrează

în intervalul orar indicat.

Diferența între timpul folosit și cel alocat este de 20

minute.

Sunt 61 de copii implicați.

Dansul cel mai lung durează 12 minute iar cel mai scurt

durează 5 minute.

Timp maxim de execuție: 1 secundă/test.

Memorie totală disponibilă 5 MB, din care 2 MB pentru stivă

Dimensiunea maximă a sursei: 10 KB.

Page 10: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Concurs online de informatică

Categoria PROGRAMARE

Secţiunea 5-6 începători

Ploiești, 6 iunie 2015

PROBLEMA 2 100 puncte

OPERAȚII MATEMATICE

Maria, Cristi și Alex au găsit o modalitate de a-și îmbunătăți viteza de efectuare a operațiilor

matematice printr-un joc care să corespundă nivelului de vârstă al fiecăruia. Maria știe doar

operațiile de adunare și scădere, Cristi a învățat înmulțirile iar Alex fiind în clasa a 5-a studiază

divizibilitatea numerelor.

Jocul se desfășoară în felul următor: Maria alege o cifra – cifra de start (întotdeauna este nenulă).

Cristi o înmulțește cu 3. La numărul obținut de Cristi, Maria adaugă o nouă cifră și îi spune lui

Cristi suma obținută. Cristi caută cel mai mare multiplu a lui 7 mai mic decât numărul obținut de

Maria și îl spune Mariei. Aceasta scade din numărul ei multiplul spus de Cristi și obține un număr

nou. Din acest moment jocul se reia, Cristi înmulțește cu 3, Maria alege o cifră și o adaugă la

numărul obținut de Cristi s.a.m.d…

Între timp Alex este atent la cifrele pe care Maria le-a introdus în joc și caută să vadă dacă numărul

format din aceste cifre este divizibil cu 7.

Cerințe: 1) Aflați care este numărul obținut de Maria după adăugarea ultimei cifre.

2) Ajutați-l pe Alex să verifice dacă numărul format din cifrele alese de Maria este divizibil cu 7.

Date de intrare: Fișierul cifre.in conține pe prima linie numărul de cifre alese de Maria iar pe

următoarea linie separate prin spațiu cifrele în ordinea alegerii acestora.

Date de ieșire: Fișierul cifre.out conține pe prima linie numărul obținut la cerința 1 și pe a doua

linie răspunsul “DA” în cazul în care răspunsul lui Alex trebuie să fie afirmativ, respectiv “NU” în

caz contrar.

Restricții și precizări:

Numărul de cifre alese de Maria este maxim 50.

Pentru rezolvarea corectă a primei cerințe se obține 50% din punctajul unui test.

Exemple:

cifre.in cifre.out Explicații

4

2 3 4 5

14

DA Maria alege 2 ca cifra de start.

2x3=6; Cristi a înmulțit-o cu 3.

6+3=9; Maria a adăugat următoarea cifră și Cristi a căutat cel mai mare

multiplu a lui 7 mai mic decât 9

9-7=2; Maria scade din numărul ei multiplul spus de Cristi și se reia jocul

2x3=6; 6+4=10; 10-7=3; 3x3=9; 9+5=14;

Numărul format conform ordinii cifrelor este 2345 și este divizibil cu 7.

3

3 4 5

23

NU

3x3=9; 9+4=13; 13-7=6;

6x3=18;18+5=23;

Numărul 345 nu este divizibil cu 7

Timp maxim de execuție: 1 secundă/test.

Memorie totală disponibilă 5 MB, din care 2 MB pentru stivă Dimensiunea maximă a sursei: 10 KB.

Page 11: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Concurs online de informatică

Categoria PROGRAMARE

Secţiunea 5-6 începători

Ploiești, 6 iunie 2015

PROBLEMA 3 100 puncte

PEȘTI

Andrei își dorește un acvariu cu pești. Găsește în oraș un singur magazin ZOO unde se vând doar peștișori

ciudați. Fiecare peștișor se îngrașă în fiecare zi cu câte un număr de grame. Cu fiecare săptămâna ce trece,

peștișorii vor lua în greutate același număr de grame ca și săptămâna precedentă, la care se adaugă greutatea

pe care o luau în prima săptămână. Nu toți peștișorii sunt de același tip, deci nu au neapărat aceeași greutate

și nici nu se îngrașă neapărat cu același număr de grame.

Andrei se hotărăște totuși să cumpere n peștișori, pe care-i numește A, B, C, D,… în ordinea în care îi pune

în acvariu. Vrând să știe în permanență ce greutate are fiecare, își notează câți pești a pus în acvariu, litera

atribuită fiecărui pește, câte grame are fiecare pește când a fost pus în acvariu și cu câte grame se îngrașă în

ziua în care este pus în acvariu.

Cerință

Scrieți un program care afișează, în ordine alfabetică, toţi peştii care au cel puțin greutatea G, dată în grame,

după ce au trecut z zile. Pentru fiecare pește se va afișa greutatea în grame și litera ce i-a fost atribuită.

Date de intrare

Fișierul pesti.in conține pe prima linie, separate prin spațiu, valorile n, G și z.

Urmează n linii, pe fiecare linie fiind scrise separate prin spațiu: o literă mare, greutatea peștelui în grame și

numărul de grame cu care se îngrașă în ziua în care este pus în acvariu.

Date de ieșire

Fișierul pesti.out va conține mai multe linii, pe fiecare linie fiind scrise, greutatea în grame și o literă mare,

separate prin spațiu. Dacă în z zile niciun pește nu depășește greutatea G fișierul pesti.out va conține

valoarea 0.

Restricții și precizări

- 0<n<27 ; G – număr natural ; 0<z<365

- Pentru fiecare pește: greutatea inițială în grame și numărul de grame cu care se îngrașă nu depășesc

valoarea 10.

- Andrei codifică peștii în ordine, cu litere mari consecutive.

- La scrierea fișierului pesti.in Andrei respectă ordinea alfabetică.

Exemple

pesti.in pesti.out Explicații

2 500 25

A 5 2

B 4 3

0 Greutatea în grame a peștișorului A după 25 de zile va fi

5(initial)+7x2(săptămâna1)+7x(2+2)(săptămâna2)

+7x(2+2+2)(săptămâna3)+4x(2+2+2+2) (săptămâna4)=121g< 500g

Greutatea în grame a peștișorului B după 25 de zile va fi

4+21+42+63+48=178g < 500g (0,5 kg)

pesti.in pesti.out

5 1530 100

A 5 2

B 4 1

C 2 3

D 4 2

E 5 4

1535 A

2297 C

1534 D

3065 E

Peștisorul B nu atinge greutatea indicată

Timp maxim de execuție: 1 secundă/test.

Memorie totală disponibilă 5 MB, din care 2 MB pentru stivă.

Dimensiunea maximă a sursei: 10 KB.

Page 12: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Concurs online de informatică

Categoria PROGRAMARE

Secţiunea 5-6 avansaţi

Ploiești, 6 iunie 2015

PROBLEMA 1 100 puncte

DANS

De 1 Iunie - Ziua Copilului se organizează un spectacol de dans cu şi pentru copii. Acesta este

programat să se desfăşoare în intervalul orar 10.30 -12.00.

În spectacol se înscriu n trupe de dans, iar pentru fiecare trupă se cunoaşte timpul necesar realizării

dansului în minute şi numărul de copii din trupa.

Cerinţe:

Cunoscând n, numărul de trupe înscrise, cele n perechi (t,c) unde t reprezintă timpul în minute

(minim 5 minute – maxim 15 minute) şi c numărul de copii din trupa scrieţi un program care:

a) Verifică dacă toate cele n echipe înscrise în spectacol se încadrează în timpul alocat

spectacolului şi afişează mesajul „NU” dacă timpul este mai mare decat cel programat, în

caz contrar afişează mesajul „DA”.

b) Calculează cu câte minute este programul incomplet sau depăşit.

c) Calculează câţi copii au fost implicaţi în realizarea spectacolului.

d) Calculează care este cel mai mare şi cel mai mic timp alocat unui dans.

Date de intrare:

Pe prima linie a fişierului dans.in se afla n, numărul de trupe înscrise, iar pe următoarele linii cele n

perechi de forma de mai sus.

Date de iesire:

Datele conform cerintelor a) - d) se vor afişa în fişierul dans.out, răspunsul fiecărei cerinţe fiind

scris pe câte o linie. La punctul d) cele 2 valori se vor despărţi prin spaţiu.

Exemplu:

dans.in dans.out Explicaţii

8

10 6

8 5

9 6

12 10

10 12

5 6

7 8

9 8

DA

20

61

12 5

Timpul total al dansurilor este 70 min şi se încadrează

în intervalul orar indicat.

Diferenţa între timpul folosit şi cel alocat este de 20

minute.

Sunt 61 de copii implicaţi.

Dansul cel mai lung durează 12 minute iar cel mai scurt

durează 5 minute.

Timp maxim de execuţie: 1 secundă/test.

Memorie totală disponibilă 5 MB, din care 2 MB pentru stivă

Dimensiunea maximă a sursei: 10 KB.

Page 13: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Concurs online de informatică

Categoria PROGRAMARE

Secţiunea 5-6 avansaţi

Ploiești, 6 iunie 2015

PROBLEMA 2 100 puncte

OPERAŢII MATEMATICE

Maria, Cristi şi Alex au găsit o modalitate de a-şi îmbunătăţi viteza de efectuare a operaţiilor

matematice printr-un joc care să corespundă nivelului de vârsta al fiecăruia. Maria ştie doar

operaţiile de adunare şi scădere, Cristi a învăţat înmulţirile iar Alex fiind în clasa a 5-a studiază

divizibilitatea numerelor.

Jocul se desfăşoară în felul următor: Maria alege o cifra – cifra de start (întotdeauna este nenulă).

Cristi o înmulţeşte cu 3. La numărul obţinut de Cristi, Maria adaugă o nouă cifră şi îi spune lui

Cristi suma obţinută. Cristi caută cel mai mare multiplu a lui 7 mai mic decat numărul obţinut de

Maria şi il spune Mariei. Aceasta scade din numărul ei multiplul spus de Cristi şi obţine un număr

nou. Din acest moment jocul se reia, Cristi înmulţeşte cu 3, Maria alege o cifră şi o adaugă la

numărul obţinut de Cristi s.a.m.d…

Între timp Alex este atent la cifrele pe care Maria le-a introdus în joc şi caută să vadă dacă numărul

format din aceste cifre este divizibil cu 7.

Cerinţe: 1) Aflaţi care este numărul obţinut de Maria după adăugarea ultimei cifre.

2) Ajutaţi-l pe Alex să verifice dacă numărul format din cifrele alese de Maria este divizibl cu 7.

Date de intrare: Fişierul cifre.in conţine pe prima linie numărul de cifre alese de Maria iar pe

următoarea linie separate prin spaţiu cifrele in ordinea alegerii acestora.

Date de ieşire: Fişierul cifre.out conţine pe prima linie numărul obţinut la cerinta 1 şi pe a doua

linie răspunsul “DA” în cazul în care răspunsul lui Alex trebuie să fie afirmativ, respectiv “NU” în

caz contrar.

Restricţii şi precizări:

Numărul de cifre alese de Maria este maxim 50.

Pentru rezolvarea corectă a primei cerinţe se obţine 50% din punctajul unui test.

Exemple:

cifre.in cifre.out Explicaţii

4

2 3 4 5

14

DA Maria alege 2 ca cifra de start.

2x3=6; Cristi a înmulţit-o cu 3.

6+3=9; Maria a adăugat următoarea cifră şi Cristi a căutat cel mai mare

multiplu a lui 7 mai mic decât 9

9-7=2; Maria scade din numărul ei multiplul spus de Cristi şi se reia jocul

2x3=6; 6+4=10; 10-7=3; 3x3=9; 9+5=14;

Numărul format conform ordinii cifrelor este 2345 si este divizibil cu 7.

3

3 4 5

23

NU

3x3=9; 9+4=13; 13-7=6;

6x3=18;18+5=23;

Numărul 345 nu este divizibil cu 7

Timp maxim de execuţie: 1 secundă/test.

Memorie totală disponibilă 5 MB, din care 2 MB pentru stivă Dimensiunea maximă a sursei: 10 KB.

Page 14: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Concurs online de informatică

Categoria PROGRAMARE

Secţiunea 5-6 avansaţi

Ploiești, 6 iunie 2015

PROBLEMA 3 100 puncte

PEŞTI

Andrei îşi doreşte un acvariu cu peşti. Găseşte în oraş un singur magazin ZOO unde se vând doar peştişori

ciudaţi. Fiecare peştişor se îngraşă în fiecare zi cu câte un număr de grame.Cu fiecare săptămâna ce trece,

peştişorii vor lua în greutate acelaşi număr de grame ca şi săptămâna precedentă, la care se adaugă greutatea

pe care o luau în prima săptămână. Nu toţi peştişorii sunt de acelaşi tip, deci nu au neapărat aceeaşi greutate

şi nici nu se îngraşă neapărat cu acelaşi număr de grame.

Andrei se hotărăşte totuşi să cumpere n peştişori, pe care-i numeşte A,B,C,D,… în ordinea în care îi pune în

acvariu. Vrând să ştie în permanenţă ce greutate are fiecare, îşi notează câţi peşti a pus în acvariu, litera

atribuită fiecărui peşte, câte grame are fiecare peşte când a fost pus în acvariu şi cu câte grame se îngraşă în

ziua în care este pus în acvariu.

Cerinţă

Scrieţi un program care afişează, în ordine alfabetică, toţi peştii care au cel puțin greutatea G, dată în grame,

după ce au trecut z zile. Pentru fiecare peşte se va afişa greutatea în grame şi litera ce i-a fost atribuită.

Date de intrare

Fişierul pesti.in conţine pe prima linie, separate prin spațiu, valorile n, G şi z.

Urmează n linii, pe fiecare linie fiind scrise separate prin spaţiu: o literă mare, greutatea peştelui în grame şi

numărul de grame cu care se îngraşă în ziua în care este pus în acvariu.

Date de ieşire

Fişierul pesti.out va conţine mai multe linii, pe fiecare linie fiind scrise, greutatea în grame şi o literă mare,

separate prin spaţiu. Dacă în z zile niciun pește nu depășește greutatea G fișierul pesti.out va conține

valoarea 0.

Restricţii şi precizări

- 0<n<27 ; G – număr natural ; 0<z<365

- Pentru fiecare peşte : greutatea iniţială în grame şi numărul de grame cu care se îngraşă nu depăşesc

valoarea 10

- Andrei codifică peştii în ordine, cu litere mari consecutive

- La scrierea fişierului pesti.in Andrei respectă ordinea alfabetică

Exemple

pesti.in pesti.out Explicații

2 500 25

A 5 2

B 4 3

0 Greutatea în grame a peștișorului A după 25 de zile va fi

5(initial)+7x2(săptămâna1)+7x(2+2)(săptămâna2)

+7x(2+2+2)(săptămâna3)+4x(2+2+2+2) (săptămâna4)=121g< 500g

Greutatea în grame a peștișorului B după 25 de zile va fi

4+21+42+63+48=178g < 500g (0,5 kg)

pesti.in pesti.out

5 1530 100

A 5 2

B 4 1

C 2 3

D 4 2

E 5 4

1535 A

2297 C

1534 D

3065 E

Peştisorul B nu atinge greutatea indicată

Timp maxim de execuţie: 1 secundă/test.

Memorie totală disponibilă 5 MB, din care 2 MB pentru stivă.

Dimensiunea maximă a sursei: 10 KB.

Page 15: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Concurs online de informatică

Categoria PROGRAMARE

Secţiunea 5-6 avansaţi

Ploiești, 6 iunie 2015

PROBLEMA 4 100 puncte

BOSUMFLAT

Vrăjitorul informatician Arpsod a făcut un farmec asupra unui șir de N numere naturale, fiecare

număr având exact 8 cifre (doar vrăjitorul știe de ce a ales cifra 8). În urma farmecului, numerele au

început să prindă sentimente. Un număr X se numește bosumflat dacă există un

alt număr Y, printre cele N, cu proprietatea că, numărul format din cifrele

de pe poziții impare ale lui X este strict mai mic decât numărul format

din cifrele de pe poziții pare ale lui Y și numărul format din cifrele de

pe poziții pare ale lui X este strict mai mare decât numărul cifrele de

pe poziții impare ale lui Y.

Vom defini gradul de bosumflare al unui număr X ca fiind egal cu

numărul de numere dintre cele N, care îl bosumflă pe X.

Pentru că vrăjitorul este prea ocupat cu alți bosumflați, vă roagă

pe voi să determinați gradul de bosumflare pentru fiecare dintre

cele N numere.

Cerinţe Cunoscându-se N, numărul de numere precum și numerele efective, determinați gradul de

bosumflare pentru fiecare număr în parte.

Date de intrare Pe prima linie a fișierului bosumflat.in se găsește numărul natural N. Pe cea de-a doua linie se

găsesc N numere naturale (nu neapărat distincte), fiecare având exact 8 cifre.

Date de ieşire Pe prima linie a fișierului bosumflat.out se vor afișa N numere naturale separate prin spațiu cu

semnificația că al i-lea număr afișat reprezintă gradul de bosumflare al celui de-al i-lea număr din

șirul inițial.

Restricţii și precizări

2 <= N <= 5000

Cele N numere sunt naturale și au exact 8 cifre

Dacă un număr nu este bosumflat atunci acesta are gradul de bosumflare 0.

Se garantează că primele două cifre ale fiecărui număr sunt nenule.

Nu încercați să înțelegeți sentimentele numerelor, deoarece sunt foarte dificile.

Exemplu

bosumflat.in bosumflat.out Explicaţie

5

15629013 29032000 19970808 33331111 86000000

3 4 4 3 2 Dacă X = 15629013 și

Y = 29032000, X este

bosumflat (1691 < 9300

și 5203>2020, cifrele

marcate se găsesc pe

poziții pare).

Timp maxim de execuţie: 0.2 secunde/test.

Memorie totală disponibilă 1 MB, din care 0,5 MB pentru stivă Dimensiunea maximă a sursei: 5 KB.

Page 16: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Concurs online de informatică

Categoria PROGRAMARE

Secţiunea 5-6 avansaţi

Ploiești, 6 iunie 2015

PROBLEMA 5 100 puncte

SILVER

O mulţime “Silver” este o mulţime de numere formată după 3 reguli simple.

1. daca a este un număr “silver” atunci a*3 este tot un număr “silver”.

2. daca a este un număr “silver” atunci a*6+1 este tot un număr “silver”.

3. daca a este un număr “silver” atunci a este un număr natural strict mai mare decât 1.

Provocarea pe care o primeşte Andrei este să găsească numere silver cunoscând un singur număr

silver indicat de profesorul său.

Cerinţe: Scrieţi un program care să citească două numere A şi N şi sa determine:

1) cel mai mic număr silver din mulţimea care îl conţine pe A

2) toate numerele silver mai mici sau egale cu numărul N din mulţimea care îl conţine pe A

Date de intrare

În fişierul silver.in se afla 2 numere A şi N unde A este numărul silver cunoscut pe baza căruia

trebuie determinate celelate numere, iar N are semnificaţia specificată în cerinţa.

Date de ieşire

Fişierul silver.out va conţine pe prima linie cel mai mic număr silver din mulţimea care îl conţine

pe A iar pe a doua linie şirul ordonat crescător al numerelor silver mai mici sau egale cu N. Dacă

A se găseşte în mai multe mulţimi atunci pentru cerinţa 1 se va afişa cel mai mic număr posibil.

Restricţii şi precizări

Pentru rezolvarea corectă a unei singure cerinţe se obţine 50% din punctajul unui test.

10<N<1000000;

A>1;

Se garantează că A este un număr dintr-o mulţime silver.

Exemplu

silver.in silver.out Explicaţii

91 150 5

5 15 31 45 91 93 135

Şirurile obţinute din:

a=2: 2, 6,13, 18,37, 39,79, 54,109, 111...

a=3: 3, 9,19, 27,55, 57,115 81,163..

a=4: 4, 12,25 , 36, 73, 75,151, 108...

a=5: 5, 15,31, 45,91, 93,135...

5 este cel mai mic număr din mulţimea silver care îl conţine

pe 91

se afişează doar numerele mai mici decât 150.

73 50 4

4 12 25 36

73 apare în mulţimea care porneşte cu 4

4,12,25,36,73,75...

se afişează doar numerele mai mici decât 50.

Timp maxim de execuţie/test: 0.5 sec/test

Memorie totală: 15 MB din care 5 MB pentru stivă

Dimensiunea maximă a sursei: 10 KB

Page 17: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V–a martie 2011 Problema 2 - numerus 100 puncte La ora de matematică distractivă, domnul profesor Numerus propune elevilor săi să completeze cu numere naturale o grilă cu 6 coloane numerotate cu literele A, B, C, D, E şi F şi cu un număr infinit de linii. Grila va fi completată cu numere naturale, începând cu numărul 1. Pe liniile impare completarea se va face de la stânga la dreapta, iar pe cele pare de la dreapta la stânga. Ultimul număr de pe o linie va fi identic cu penultimul număr (în sensul completării) de pe aceeaşi linie. În figura alăturată aveţi completate primele 7 linii ale grilei. Deoarece pe tablă sau pe o foaie de hârtie numărul de linii este limitat, deci grila poate fi efectiv completată doar pentru un număr mic de linii, domnul profesor Numerus doreşte ca elevii săi să determine, cu ajutorul calculatorului, imaginea unei anumite linii a grilei şi locul sau locurile pe care se poate afla un număr natural dat. Cerinţe: Deduceţi regula după care se completează linia k a grilei şi scrieţi un program care să citească numerele naturale k şi n şi care să determine:

a) numerele naturale de pe linia k, vizualizate de la stânga la dreapta; b) linia pe care se află în grilă numărul natural n; c) coloana sau coloanele pe care se află în grilă numărul natural n.

Date de intrare Fişierul numerus.in conţine o singură linie pe care sunt scrise două numere naturale k şi n, separate pritr-un spaţiu.

Date de ieşire Fişierul de ieşire numerus.out va conţine 3 linii:

a) pe prima linie, se vor scrie numerele de pe linia k a grilei; b) pe a doua linie, se va scrie un număr natural reprezentând linia pe care se află în grilă numărul natural n; c) pe a treia linie, se va scrie litera sau literele care reprezintă coloana, respectiv coloanele pe care se află în grilă numărul natural n; în situaţia în care avem de afişat două litere acestea se vor afişa cu un spaţiu între ele.

Restricţii şi precizări:

• Numerele k şi n sunt naturale nenule • 5 ≤ k < 200000000 • 1 ≤ n ≤ 999999999

Pentru rezolvarea cerinţei a) se acordă 40% din punctaj, pentru cerinţa b) 30% din punctaj şi pentru cerinţa c) 30% din punctaj. Exemplu: numerus.in numerus.out Explicaţii 10 40 50 50 49 48 47 46

8 A B

Timp maxim de execuţie/test: 1 secundă

Page 18: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei şi Cercetării Olimpiada de Informatică Clasa a V-a Faza judeţeană, 26-27 februarie 2005 Problema 1– Ultima cifră 100 puncte Fie n un număr natural şi s suma următoare: s = 1+ 22 + 33 + … + nn. Cerinţă Scrieţi un program care să afişeze ultima cifră a lui s. Date de intrare De la tastatură se citeşte numărul n. Date de ieşire Pe ecran se va afişa numai ultima cifră a lui s. Restricţii şi precizări 0 < n < 101 Exemplu Date de intrare Date de ieşire Explicaţie n=3 2 Suma este 32 şi ultima cifră 2. Timp maxim de execuţie/test: 1 secundă.

Page 19: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei şi Cercetării Olimpiada de Informatică Clasa a V-a Faza judeţeană, 19 martie 2006

Problema 2 – Vrăji 100 puncte La Şcoala de Vrăjitorie Hogswarts, Harry Potter şi colegii săi îşi pun la încercare puterea vrăjilor cu ajutorul

baghetelor magice. O vrajă constă în mutarea unuia sau a mai multor obiecte din încăperile şcolii în ‘camera vrăjilor’ unde se află adunaţi toţi elevii.

Fiecare dintre cei n ‘elevi vrăjitori’ este înzestrat cu o anumită putere; dacă un elev are puterea 1, cu o vrajă el aduce 1 obiect, dacă puterea este 2 cu o vrajă el va aduce 2 obiecte, … pentru un elev cu puterea de valoare p, cu o vrajă el va aduce p obiecte. Pe de altă parte, fiecare elev are o anumită rapiditate (viteză) de efectuare a vrăjilor. Astfel, pe parcursul unei ore, un elev cu viteza 1 va reuşi să facă o singură vrajă, un elev cu viteza 2 va reuşi două vrăji una după alta etc. Evident, un elev cu puterea 3 şi care are viteza 4, va reuşi să aducă până la sfârşitul orei 12 obiecte (3 la prima vrajă, încă 3 la a doua vrajă, încă 3 la a treia vrajă şi încă 3 la ultima vrajă).

La sfârşitul orei de vrăjitorie, fiecare elev primeşte un număr de cutii pentru a ambala în ele numai obiectele aduse de el, astfel încât în fiecare dintre cutiile sale să se afle acelaşi număr de obiecte. Profesorul Dumbledore vrea în plus ca fiecare elev să primească acelaşi număr de cutii. O soluţie simplă ar fi să distribuie fiecărui elev o singură cutie, însă el şi-ar dori să distribuie cât mai multe cutii.

Cerinţă: Cunoscând pentru fiecare dintre cei n ‘elevi vrăjitori’ ai şcolii Hogswarts, puterea cu care este înzestrat şi

viteza cu care reuşeşte să facă vrăjile, determinaţi: - cel mai mare număr de obiecte ce pot fi aduse până la sfârşitul orei de către un singur ‘elev vrăjitor’ - care este numărul maxim de cutii pe care le va primi fiecare elev ţinând cont de faptul că fiecare elev va

trebui să îşi distribuie în mod egal obiectele sale în aceste cutii;

Date de intrare: De la tastatură se citesc

- n numărul elevilor, - pentru fiecare elev se vor citi de pe un rând de ecran 2 numere despărţite prin spaţiu reprezentând puterea sa şi

viteza sa (în această ordine)

Date de ieşire: Se vor afişa pe ecran

- pe primul rând, cel mai mare număr de obiecte ce pot fi aduse în ‘camera vrăjilor’ de către un singur ‘elev vrăjitor’ la sfârşitul orei

- pe al doilea rând, cel mai mare număr de cutii pe care îl poate primi fiecare elev respectând condiţiile din problemă

Restricţii şi precizări: - Numărul n al elevilor, puterea şi viteza fiecăruia sunt numere naturale mai mari decât zero şi mai mici sau egale

cu 100 - Fiecare cutie va conţine numai obiecte ale unui singur ‘elev vrăjitor’ - Fiecare elev va primi acelaşi număr de cutii Verificaţi să NU aveţi în programul vostru uses crt sau #include <conio.h>

Exemplu: Date de intrare Date de ieşire Explicaţie 5 5 2 6 4 3 10 20 2 7 2

40 2

5 - ‘elevi vrăjitori’ elev 1 : Număr total de obiecte =5*2=10 elev 2 : Număr total de obiecte=6*4=24 elev 3 : Număr total de obiecte=3*10=30 elev 4 : Număr total de obiecte=20*2=40 elev 5 : Număr total de obiecte=7*2=14 40 este cel mai mare număr de obiecte aduse de un vrăjitor 2 este cel mai mare număr de cutii pe care îl poate primi fiecare elev

Date de intrare Date de ieşire Explicaţie 3 4 2 6 8 6 6

48 4

3 - ‘elevi vrăjitori’ elev 1 : Număr total de obiecte =4*2=8 elev 2 : Număr total de obiecte=6*8=48 elev 3 : Număr total de obiecte=6*6=36 48 este cel mai mare număr de obiecte aduse de un vrăjitor 4 este cel mai mare număr de cutii pe care îl poate primi fiecare elev

Timp de rulare/test: 1 secundă

Page 20: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei Naţionale Olimpiada de Informatică – etapa judeţeană 2 martie 2013, Clasa a VI –a Sursa: ID1.cpp, ID1.c, ID1.pas Problema 1– clădiri 100 puncte

Având mai multe cuburi la dispoziţie, Crina şi Rareş au hotărât să construiască clădiri prin alipirea a două sau mai multor turnuri. Turnurile au fost obţinute prin aşezarea cuburilor unul peste celălalt. Înălţimea unui turn este dată de numărul de cuburi din care este format.

Clădirile construite au fost aşezate în linie, una lângă alta formând astfel o stradă, pe care cei doi copii se vor plimba.

Pentru numerotarea clădirilor Crina şi Rareş au stabilit următoarele reguli: - Crina porneşte dintr-un capăt al străzii, iar Rareş din celălalt capăt al acesteia; fiecare dintre ei traversează strada complet,

trecând prin dreptul fiecărei clădiri - Crina lipeşte pe fiecare clădire câte un bileţel pe care scrie înălţimea turnurilor din care aceasta este construită, în ordinea

în care ea le vede când trece prin dreptul lor (de exemplu, pentru imaginea de mai sus, Crina va lipi pe prima clădire un bileţel pe care va scrie numărul 3112 deoarece, primul turn e format din 3 cuburi, următoarele două turnuri ale acestei clădiri sunt formate din câte un cub iar cel de-al patrulea turn e format din 2 cuburi);

- Rareş va proceda la fel, dar începe plimbarea din celalalt capăt al străzii. În exemplul din imagine, el va lipi pe prima clădire pe care o întâlneşte un bileţel pe care scrie numărul 2121.

La finalul plimbării, Crina şi Rareş îşi dau seama că există clădiri pe care au lipit amândoi bileţele cu numere identice. Cerinţe a) Care este înălţimea celui mai înalt turn şi care este numărul clădirilor care au în construcţia lor un astfel de turn? b) Care este numărul clădirilor pe care cei doi copii au lipit bileţele cu numere identice? c) Care este cel mai mic număr de cuburi necesar pentru a completa clădirile astfel încât, pe fiecare clădire, bileţelul pe

care îl va lipi Crina să conţină acelaşi număr cu cel pe care îl va lipi Rareş? Cuburile din care a fost construită iniţial clădirea nu se pot muta.

Date de intrare Din fişierul cladiri.in se va citi de pe prima linie un număr natural N, reprezentând numărul clădirilor de pe stradă, iar de pe următoarele N linii câte un număr natural cu toate cifrele nenule, reprezentând numerele scrise de Crina pe bileţele, în ordinea în care au fost lipite de ea pe clădiri. Date de ieşire În fişierul cladiri.out se vor scrie pe prima linie două numere naturale despărţite printr-un singur spaţiu ce reprezintă, în ordine, valorile cerute la cerinţa a). Pe cea de-a doua linie a fişierului se va scrie un număr natural, mai mare sau egal cu zero, reprezentând răspunsul la cerinţa b). Pe cea de-a treia linie a fişierului se va scrie un număr natural, mai mare sau egal cu zero, reprezentând răspunsul la cerinţa c).

Restricţii şi precizări - 1 ≤ N ≤ 10000 - Fiecare clădire este alcătuită din cel mult 9 turnuri, iar înălţimea fiecărui turn este exprimată printr-o cifră nenulă. - Pentru rezolvarea corectă a cerinţei a) se acordă 20% din punctajul fiecărui test, pentru rezolvarea corectă a cerinţei b) se

acordă 40% din punctajul fiecărui test, iar pentru rezolvarea corectă a cerinţei c) se acordă 40% din punctajul fiecărui test. - Respectaţi formatul fişierului de ieşire! Pentru a obţine punctajul acordat unei cerinţe, trebuie ca răspunsul din fişier să fie

corect şi scris exact pe linia precizată în enunţ. Exemplu cladiri.in cladiri.out Explicaţie 6 3112 2772 42422 1741 27372 1212

7 3 2 8

Cel mai înalt turn este format din 7 cuburi. Sunt 3 clădiri care au în construcţia lor turnuri cu această înălţime, cele pe care Crina lipeşte numerele: 2772, 1741 şi 27372. Rareş lipeşte pe clădiri bileţele cu numerele: 2121, 27372, 1471, 22424, 2772 şi 2113. Două dintre aceste clădiri au primit aceleaşi numere și de la Crina: 2772 şi 27372. Valoarea determinată conform cerinţei c) este 8. Se adaugă un cub la clădirea cu numărul 3112, 2 cuburi la cea cu numărul 42422, 3 cuburi la clădirea cu numărul 1741 şi 2 cuburi la cea cu numărul 1212.

Timp maxim de execuţie: 0.5 secunde/test; Memorie totală disponibilă: 32 MB; Dimensiunea maximă a sursei : 10 KB _______________ Problema 1- cladiri pag. 1 din 1

Page 21: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Olimpiada Judeţeană de Informatică Clasa a VI– a 3 martie 2012 Sursa: ID2.pas, ID2.cpp, ID2.c

Problema 2 – flori 100 puncte Lizuca are n flori ornamentale de înălţimi h1, h2, ..., hn, exprimate în centimetri. Pentru a uda plantele, Lizuca stabileşte următorul program: în prima zi va alege o plantă pe care o va uda, în a doua zi va alege două plante pe care le va uda, în ziua a treia va alege trei plante pe care le va uda şi aşa mai departe. Dacă o plantă este udată într-o anumită zi, atunci creşte 1 centimetru până la sfârşitul acelei zile, iar dacă nu este udată, rămâne la înălţimea pe care o avea la sfârşitul zilei precedente. Cerinţă Scrieţi un program care determină:

a) un număr natural S, exprimat în centimetri, reprezentând suma înălţimilor finale ale tuturor plantelor, dacă Lizuca le-ar uda după procedeul descris, timp de n zile;

b) un număr natural K, reprezentând numărul maxim de zile în care Lizuca poate uda florile după procedeul descris anterior, astfel ca la sfârşitul celei de a K-a zi, nicio plantă ornamentală să nu atingă înălţimea H.

Date de intrare Prima linie a fişierului flori.in conţine două numere naturale n şi H, separate printr-un spaţiu, având semnificaţia din enunţ. Linia a doua conţine n numere naturale: h1, h2, ..., hn, separate prin câte un singur spaţiu, reprezentând înălţimile iniţiale ale plantelor.

Date de ieşire Fişierul flori.out va conţine pe prima linie un număr natural S având semnificaţia descrisă în cerinţa a).

A doua linie va conţine un număr natural K, având semnificaţia descrisă în cerinţa b).

Restricţii şi precizări • 1 ≤ N, H ≤ 100 • 1 ≤ h1, h2, ... hn < H • O plantă poate fi udată o singură dată pe zi. • Pentru rezolvarea corectă a cerinţei a) se acordă 30 % din punctajul total pentru fiecare test. • Pentru rezolvarea corectă a cerinţei b) se acordă 70 % din punctajul total pentru fiecare test.

Exemple flori.in flori.out Explicaţie - cerinţa b) 3 4 2 1 1

10 2

Dacă în prima zi se udă planta 3, atunci înălţimile devin: 2 1 2 Dacă în a doua zi se udă plantele 1 şi 2, atunci înălţimile devin: 3 2 2 Procedeul se opreşte aici, deoarece în ziua a treia, ar trebui să se ude toate plantele, iar planta 1 ar ajunge să aibă înălţimea 4

flori.in flori.out Explicaţie - cerinţa b) 4 5 1 3 2 1

17 3

Dacă în prima zi se udă planta 1, atunci înălţimile devin: 2 3 2 1 Dacă în a doua zi se udă plantele 1 şi 4, atunci înălţimile devin: 3 3 2 2 Dacă în a treia zi se udă plantele 1, 3 şi 4, atunci înălţimile devin: 4 3 3 3.

Timp maxim de execuţie/test: 1 secundă Memorie totală disponibilă: 4 MB, din care 3,5 MB pentru stivă.

Page 22: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Ministerul Educaţiei Naţionale Olimpiada de Informatică – etapa judeţeană 2 martie 2013, Clasa a VI –a Sursa: ID2.cpp, ID2.c, ID2.pas

Problema 2 – galbeni 100 puncte

După ce au descoperit ascunzătoarea piratului Spânu, marinarii de pe corabia “Speranţa” au hotărât să ofere sătenilor o parte din comoara acestuia. Întrucât comoara avea un număr nelimitat de bani din aur, numiţi galbeni, singura problemă a marinarilor a fost regula după care să împartă banii. După îndelungi discuţii au procedat astfel: i-au rugat pe săteni să se aşeze în ordine la coadă şi să vină, pe rând, unul câte unul pentru a-şi ridica galbenii cuveniţi. Primul sătean a fost rugat să îşi aleagă numărul de galbeni, cu condiţia ca acest număr să fie format din exact K cifre. Al doilea sătean va primi un număr de galbeni calculat astfel: se înmulţeşte numărul de galbeni ai primului sătean cu toate cifrele nenule ale acelui număr, rezultatul se înmulţeşte cu 8 şi apoi se împarte la 9 păstrându-se doar ultimele K cifre ale câtului împărţirii. Dacă numărul obţinut are mai puţin de K cifre, atunci acestuia i se adaugă la final cifra 9, până când se completează K cifre. Pentru a stabili câţi galbeni primeşte al treilea sătean, se aplică aceeaşi regulă, dar pornind de la numărul de galbeni ai celui de-al doilea sătean. Regula se aplică în continuare fiecărui sătean, plecând de la numărul de galbeni primiţi de săteanul care a stat la coadă exact în faţa lui.

Cerinţa Cunoscând numărul de galbeni aleşi de primul sătean, determinaţi numărul de galbeni pe care îl va

primi al N-lea sătean.

Date de intrare Fişierul galbeni.in conţine pe prima linie cele 3 numere naturale nenule S, K, N separate prin câte un spaţiu, unde S reprezintă numărul de galbeni ales de primul sătean, K este numărul de cifre ale numărului S, iar N reprezintă numărul de ordine al săteanului pentru care se cere să determinaţi numărul de galbeni primiţi.

Date de ieşire Fişierului galbeni.out conţine pe unica sa linie un număr natural reprezentând rezultatul determinat. Restricţii

• 2 ≤ N ≤ 1 000 000 000 • 1 ≤ K ≤ 3 • Se garantează că S are exact K cifre.

Exemplu galbeni.in galbeni.out Explicaţie 51 2 3 77 Primul sătean a luat 51 de galbeni. Cel de al doilea sătean va primi 26 de galbeni

(51 se înmulţeşte cu cifrele nenule 51*5*1=255, 255 se înmulţeşte cu 8 =2040. Câtul împărţirii lui 2040 la 9 = 226, ultimele două cifre fiind 26). Celui de al treilea sătean va primi 77 de galbeni (26 se înmulţeşte cu cifrele nenule 26*2*6=312, 312 se înmulţeşte cu 8 şi obţinem numărul 2496. Câtul împărţirii dintre 2469 şi 9 este 277, ultimele două cifre fiind 77)

10 2 3 96 Primul sătean primeşte 10 galbeni. Pentru a calcula câţi galbeni primeşte al doilea sătean procedăm astfel: înmulţim 10 cu cifele sale nenule: 10*1 = 10, apoi cu 8, 10*8 = 80. Câtul împărţirii lui 80 la 9 este 8. Acest număr având mai puţin de k=2 cifre, se adaugă la finalul său cifra 9 şi se obţine 89. Pentru al treilea sătean se pleacă de la 89 (89*8*9=6408, 6408*8=51264, câtul împărţirii lui 51264 la 9 este 5696, ultimele două cifre sunt 96)

Timp maxim de execuţie: 0.5 secunde/test Memorie totală disponibilă: 32 MB Dimensiunea maximă a sursei : 10 KB

_______________ Problema 2 - galbeni pag. 1 din 1

Page 23: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Clasa a VI-a Problema 1 (100 puncte) Visul

Sinbad Marinarul visează că se află într-o peşteră cu comori. Peste tot se aflau cufere pline cu bijuterii şi monezi din aur, iar peştera era luminată de strălucirea lor. Şi în timp ce Sinbad se minuna de toate splendorile din jurul său, se auzi o voce misterioasă, care spuse:

“Există o posibilitate de a ajunge aici şi dacă reuşeşti toate aceste comori vor fi ale tale. Această pesteră se află în vârful muntelui Ararat,dar pe drum, duhurile rele vor încerca să te oprească. Tu trebuie sa lupti cu ele şi să le învingi în luptă dreaptă. Pentru a deschide peştera, trebuie sa–ţi aminteşti câte duhuri ai învins şi să rosteşti cu voce tare formula magică. Formula magică este cel mai mic număr, care are atât prima cifră cât şi numărul de cifre, egale cu numărul duhurilor rele învinse de tine. Dar atentie! Acest număr, trebuie în plus să aibă proprietatea că orice secvenţă de două cifre consecutive trebuie să fie numere prime diferite.” În acest moment, Sinbad s-a trezit şi vrea să plece în căutarea comorii. Nu se teme de duhurile rele, dar ştie câte calcule necesită căutarea formulei magice (şi mai ştie că la matematica nu se descurcă foarte bine). De aceea, vă roagă să-l ajutaţi. Cerinţă Simbat vă va spune numărul n (reprezentând numărul duhurilor rele învinse de el), iar tu trebuie să-i spui formula magică. În cazul în care nu există un astfel de număr, spuneţi-i lui Sinbad că a fost doar un vis şi că e timpul să se pregătească pentru şcoală. Date de intrare De la tastatură se citeşte n. Date de ieşire Pe ecran se va afişa un singur număr natural, adică cel cerut de problemă. Dacă nu există soluţie se va afişa mesajul Nu exista Restricţii n≤10 Exemplu Pentru n=3 se va afişa 311 Observaţie În exemplu se afişează 311 pentru că: 31 este număr prim, 11 este număr prim. Timp maxim de executare: 1 secundă/test.

Page 24: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Clasa a VI-a Problema 2 (100 puncte) Gardul Doi copii vopsesc un gard alcătuit din n scânduri pe care le vom numerota de la 1 la n astfel: primul ia o cutie de vopsea roşie cu care vopseşte scândurile cu numărul p, 2p, 3p, etc. Al doilea procedează la fel, începe de la acelaşi capăt al gardului, dar ia o cutie de vopsea albastră şi vopseşte din q în q scânduri. Astfel, când vor termina de vopsit, gardul va avea multe scânduri nevopsite, unele scânduri vopsite în roşu, altele în albastru, iar altele în violet (cele care au fost vopsite şi cu roşu şi cu albastru). Cerinţă Cunoscând numerele n, p şi q afişaţi : a) câte scânduri rămân nevopsite b) câte scânduri sunt vopsite în roşu c) câte scânduri sunt vopsite în albastru d) câte scânduri sunt vopsite în violet. Date de intrare De la tastatură se citesc n, p şi q. Date de ieşire Pe ecran se vor afişa cele patru numere naturale, câte unul pe un rând ca în exemplu. Restricţii n≤100000 Exemplu Pentru n=25 p=4 q=6 se va afişa : a)17 b) 4 c) 2 d) 2 Observaţie Exemplul corespunde situaţiei următoare : . . . R . A . R . . . V . . . R . A . R . . . V .

A-albastru R-roşu V-violet

Timp maxim de executare: 1 secundă/test.

Page 25: ID1.c, ID1.cpp, ID1 - MateInfo.Net · 2017-03-02 · Ministerul Educaţiei, Cercetării, Tineretului şi Sportului Olimpiada Judeţeană de Informatică Clasa a V -a 3 martie 2012

Olimpiada Judeţeană de Informatică Februarie 2004 Clasa a VI-a Problema 2. "Vânătoare" 100 puncte

Vânătorul şef al regelui Arthur a primit însărcinare să vâneze primele raţe ce se întorc

din ţările calde. Regele fiind un tip cu idei fixe, i-a cerut vânătorului să vâneze raţele albe cu săgeţi albe, iar raţele negre cu săgeţi negre.

Raţele vin în rânduri (stoluri) din ce în ce mai mari: mai întâi una, apoi două, trei, cinci, opt, treisprezece, ş.a.m.d. Se observă că numărul de raţe dintr-un rând este egal cu numărul de raţe de pe cele două rânduri anterioare. Raţele fiind nişte creaturi ordonate zboară în rânduri, în care nu vei putea găsi două raţe de aceeaşi culoare alăturate, fiecare rând începând cu o raţă albă.

Vânătorul ştie că dacă a început să doboare o raţă, trebuie să le doboare pe toate de pe rândul acesteia, deoarece supravieţuitoarele vor alerta celelalte raţe şi ele nu se vor mai întoarce niciodată, iar vânătorul nostru îşi va pierde slujba.

Cerinţă

Ştiind că vânătorul a primit ka săgeţi albe şi kb săgeţi negre, trebuie să determinaţi câte rânduri de raţe a doborât şi câte săgeţi de fiecare tip i-au rămas, ştiind că el vrea să-şi păstreze slujba.

Date de intrare Se citesc de la tastatură numerele ka şi kb (în această ordine). Atenţie: Valorile se introduc obligatoriu în această ordine!

Date de ieşire Se va afişa pe ecran: - numărul de rânduri doborâte - numărul de săgeţi albe rămase - numărul de săgeţi negre rămase. Restricţii 0≤ka, kb≤2.000.000.000 Observaţie Datele de intrare sunt corecte (nu necesită validare). Exemplu Pentru ka=9 şi kb=10 Se va afişa: 4 2 6 Explicaţie Pentru exemplu avem rândurile (A- raţă albă, N- raţă neagră) de raţe: A A N A N A A N A N A Timp maxim de executare: 1 secundă/test