1420 - Happy New Year

From Bitnami MediaWiki
Revision as of 12:43, 20 May 2023 by Pop Giulia (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursa: [1]

Cerința[edit | edit source]

Se dau n numere naturale divizibile cu 9. Aceste numere se scriu unul lângă altul astfel încât să formeze un singur număr. Se calculează suma cifrelor numărului obţinut, apoi suma cifrelor sumei anterioare şi se continuă procedeul până se obţine ca rezultat un număr format dintr-o singură cifră. Cifra obţinută se înmulţeşte cu 7 şi se obţine un număr m. Se cere aflarea celui de-al m lea număr triunghiular.


Date de intrare[edit | edit source]

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran numărul A, reprezentând al m-lea număr triunghiular.

Restricții și precizări[edit | edit source]

1 ≤ n ≤ 1.000.000 cele n numere citite vor fi mai mici decât 2.000.000.000 un număr natural nenul se numeşte triunghiular dacă este egal cu numărul elementelor dintr-o matrice pătratică, situate deasupra diagonalei principale.

Exemplu:[edit | edit source]

Intrare

3 2016 2016 2016 Ieșire

2016

Explicație[edit | edit source]

Happy New Year !

Încărcare soluție[edit | edit source]

<syntaxhighlight lang="python" line> def calc_cifra_finala(numar):

   while numar > 9:
       suma_cifre = 0
       for cifra in str(numar):
           suma_cifre += int(cifra)
       numar = suma_cifre
   return numar

n = int(input()) numere = input().split()

numar_m = int(calc_cifra_finala(int("".join(numere))) * 7)

suma = 0 for i in range(1, numar_m + 1):

   suma += i
   if suma >= numar_m:
       print(i * (i + 1) // 2)
       break

</syntaxhighlight>