Sunteți pe pagina 1din 3

Magie

În regatul de gheață Olaf este renumit pentru spectacolele sale de magie.


La o reprezentaţie de magie, Olaf invită pe scenă N persoane. Fiecare persoană îi şopteşte lui
Olaf la ureche anul nașterii şi el calculează vârsta fiecărei persoane ca fiind diferența dintre
2017 și anul nașterii acesteia.
Printr-o magie, Olaf face să apară pe scenă, câte un om de zăpadă pentru fiecare copil de
12 ani care se află printre cele N persoane.

Olaf asociază fiecărei persoane de pe scenă un


număr magic obținut prin însumarea tuturor
cifrelor ce apar în numărul ce reprezintă
anul nașterii persoanei respective.
Printr-o nouă magie, Olaf scoate din pălăria sa un buchet cu flori de gheață,
buchet ce conține atâtea flori cât arată cel mai mare număr magic asociat de
Olaf unei persoane. El dăruieşte acest buchet Elsei – prințesa regatului.

Cerinţe
Scrieți un program care să determine:
a) Numărul oamenilor de zăpadă care au apărut pe scenă prin magia lui Olaf;
b) Numărul florilor de gheață din buchetul pe care Olaf l-a dăruit Elsei.

Date de intrare
Din fişierul de intrare magie.in se citesc:
- de pe prima linie un număr natural N care reprezintă numărul persoanelor invitate de Olaf pe scenă;
- de pe următoarele N linii, câte un număr natural care are exact 4 cifre şi care reprezintă anul nașterii unei persoane.

Date de ieşire
În fişierul magie.out se va scrie:
- pe prima linie, numărul oamenilor de zăpadă apăruți pe scenă prin magia lui Olaf;
- pe cea de-a doua linie, un număr natural ce reprezintă numărul florilor de gheață din buchetul lui Olaf.

Restricţii şi precizări
 1≤ N ≤ 100
 Se acordă 10 puncte din oficiu. Pentru rezolvarea corectă a cerinţei a) se acordă 10 de puncte iar pentru rezolvarea
corectă a cerinţei b) se acordă 80 de puncte.
Exemplu
magie.in magie.out Explicaţii
5 3 Pe scenă au fost invitate 5 persoane.
1994 23 Cerința a) Trei dintre persoane au vârsta de 12 ani ceea ce înseamnă că Olaf a făcut ca
2005 prin magie să apară pe scenă 3 oameni de zăpadă.
1965
2005 Cerința b)
2005 Pentru persoana născută în 1994 numărul magic este 1+9+9+4=23
Pentru persoana născută în 2005 numărul magic este 2+0+0+5=7
Pentru persoana născută în 1965 numărul magic este 1+9+6+5=21
Cel mai mare număr magic este 23.
Buchetul cu flori de gheață va conține 23 de flori.
Număr
Se citeşte de la tastatură un număr natural n care are exact 3 cifre. Scrieţi un program C++ care afişează pe prima linie a
ecranului mesajul ESTE IMPAR dacă numărul este impar şi mesajul NU ESTE IMPAR în caz contrar (dacă n este număr
par).
Afişaţi apoi, pe cea de-a doua linie a ecranului numărul care se obţine din n, după eliminarea cifrei din mijlocul acestuia.
Afişaţi de asemenea, pe cea de-a treia linie a ecranului, cel mai mare număr care se poate obţine prin rearanjarea tuturor
celor 3 cifre ale numărului n.
Exemplul 1:
Dacă se citeşte de la tastatură numărul 519 atunci pe ecran se va afişa

ESTE IMPAR
59
951
Exemplul 2:
Dacă se citeşte de la tastatură numărul 270 atunci pe ecran se va afişa
NU ESTE IMPAR
20
720

Fulger
Pentru a putea ajunge la concursul de mașini, Fulger Mcqueen, trebuie să termine de asfaltat
drumul din Valea Radiator.
La intrarea în Valea Radiator, Bucșă are pregătite N bidoane, fiecare având înscris pe el câte
un număr. Dintre cele N bidoane doar câteva conțin asfalt.
Bucșă îi spune lui Fulger:
– Fulger, prietene, vreau să te ajut să găsești bidoanele corecte, așa că îți spun că fiecare
număr de pe bidon, are asociat un cod secret, codul secret al fiecărui număr se obține prin
diferența dintre numărul alcătuit din
atâtea cifre de 9 câte are numărul scris
pe bidon și numărul de pe bidon.
Bidoanele cu asfalt au cifra unităților 0 și cifra zecilor 1.

Cerinţe
Scrieți un program care să determine:
c) Codul secret asociat fiecărui număr de pe bidon;
d) Numărul de bidoane care conțin asfalt.

Date de intrare

Din fişierul de intrare fulger.in se citesc:


- de pe prima linie un număr natural N ce reprezintă numărul de bidoane pregătite de Bucșă;
- de pe următoarele N linii, câte un număr natural, diferit de 0, ce reprezintă numărul asociat fiecărui bidon.

Date de ieşire

În fişierul fulger.out se va scrie:


- pe prima linie, despărțite prin spațiu codul secret al fiecărui număr de pe bidon;
- pe cea de-a doua linie, un număr natural ce reprezintă numărul de bidoane cu asfalt, pe care le-a descoperit Fulger.

Restricţii şi precizări
 1 ≤ N ≤ 100
 Numerele de pe bidoane se află situate în intervalul [1, 1.000.000.000]
 Se acordă 10 puncte din oficiu. Pentru rezolvarea corectă a cerinței a) se acordă 70 de puncte, iar pentru rezolvarea
corectă a cerinţei b) se acordă 20 de puncte.

Exemplu
fulger.in fulger.out Explicaţii
5 7861 468350 845710 201 3510 Bucșă a pregătit pentru Fulger 5 bidoane.
2138 2 Cerința a)
531649 Primul bidon are codul secret 7861, deoarece 9999 – 2138 = 7861
154289 Al doilea are codul secret 468350, deoarece 999999 – 531649 = 468350
798 Al treilea are codul secret 845710, deoarece 999999 – 154289 = 845710
96489 Al patrulea are codul secret 201, deoarece 999 – 798 = 201
Al cincilea are codul secret 3510, deoarece 99999 – 96489 = 3510

Cerința b)
Numărul de bidoane cu asfalt este 2.

Zmeu
În vacanță, Andrei și cu prietenii lui doresc să construiască împreună cât mai multe zmeie. Analizând materialele au
constatat că au la dispoziție doar N metri de sfoară.
Au căutat pe internet tutoriale și au aflat că pentru fiecare zmeu sunt necesare câte două bucăți de sfoară de M metri.
Astfel, având la dispoziție cei N metri de sfoară, pot construi maxim Z zmeie.

Cerinţe
Scrieți un program care să determine:
e) Care este numărul maxim de zmeie care se pot construi;
f) Câți metri de sfoară le-ar mai fi trebuit lui Andrei și prietenilor să poată construi încă un zmeu

Date de intrare

Din fişierul de intrare zmeu.in se citesc:


- de pe prima linie numărul natural N
- de pe următoarea linie numărul natural M

Date de ieşire

În fişierul zmeu.out se vor scrie:


- pe prima linie: numărul maxim de zmeie care se pot construi;
dacă nu se poate construi niciun zmeu, pe prima linie se va scrie
0.
- pe cea de-a doua linie: câți metri de sfoară le-ar mai fi trebuit să mai poată construi încă un zmeu.

Restricţii şi precizări
 1 ≤ N ≤ 100.000.000.000
 1 ≤ M ≤ 1.000.000.000
 Se acordă 10 puncte din oficiu. Pentru rezolvarea corectă a cerinței a) se acordă 45 de puncte, iar pentru rezolvarea
corectă a cerinţei b) se acordă 45 de puncte.

Exemplu

zmeu.in zmeu.out Explicaţii


72 3 Andrei și prietenii lui au la dispoziție 72m de sfoară.
10 8 Pentru fiecare zmeu sunt necesare câte 2 bucăți de sfoară de 10m.
a) Se pot construi maxim 3 zmeie, din cei 72m de sfoară
b) Dacă ar mai avea 8m de sfoară ar mai putea construi încă un zmeu.

S-ar putea să vă placă și