2870 - Magie: Difference between revisions
Pop Giulia (talk | contribs) Pagină nouă: ==Enunt== Î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 asoci... |
Pop Giulia (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/2870/magie] | |||
==Enunt== | ==Enunt== | ||
Î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. | Î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. | ||
Line 43: | Line 45: | ||
Cel mai mare număr magic este 23. Buchetul cu flori de gheață va conține 23 de flori. | Cel mai mare număr magic este 23. Buchetul cu flori de gheață va conține 23 de flori. | ||
==Solutie== | ==Solutie== | ||
<syntaxhighlight lang="python" line> | |||
n = int(input()) | n = int(input()) | ||
max_magic = 0 | max_magic = 0 | ||
Line 56: | Line 59: | ||
print(num_of_snowmen) | print(num_of_snowmen) | ||
print(max_magic) | print(max_magic) | ||
</syntaxhighlight> |
Latest revision as of 12:54, 20 May 2023
Sursa: [1]
Enunt[edit | edit source]
Î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ă apoi pentru fiecare persoană de pe scenă un număr magic obținut prin însumarea tuturor cifrelor ce apar în 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.
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[edit | edit source]
Fișierul de intrare magie.in conține pe prima linie numărul N, ce reprezintă numărul persoanelor invitate de Olaf pe scenă, iar 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[edit | edit source]
Fișierul de ieșire magie.out va conține pe prima linie numărul oamenilor de zăpadă apăruți pe scenă în urma magiei lui Olaf, iar 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[edit | edit source]
1 ≤ N ≤ 100
Exemplu:[edit | edit source]
magie.in
5 1994 2005 1965 2005 2005 magie.out
3 23
Explicație[edit | edit source]
Pe scenă au fost invitate 5 persoane.Trei dintre persoane au vârsta de 12 ani ceea ce înseamnă că Olaf a făcut ca prin magie să apară pe scenă 3 oameni de zăpadă.
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.
Solutie[edit | edit source]
<syntaxhighlight lang="python" line> n = int(input()) max_magic = 0 num_of_snowmen = 0 for i in range(n): year = int(input()) age = 2017 - year if age == 12: num_of_snowmen += 1 magic = sum(int(digit) for digit in str(year)) if magic > max_magic: max_magic = magic print(num_of_snowmen) print(max_magic) </syntaxhighlight>