1420 - Happy New Year: Difference between revisions

From Bitnami MediaWiki
Pop Giulia (talk | contribs)
Pagină nouă: = Cerința = Se dau <code>n</code> numere naturale divizibile cu <code>9</code>. 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 <code>7</code> şi se obţine un număr <code>m</code>. Se cere aflarea celui de-al <code...
 
Pop Giulia (talk | contribs)
No edit summary
Line 1: Line 1:
==Cerința==
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.


= Cerința =
Se dau <code>n</code> numere naturale divizibile cu <code>9</code>. 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 <code>7</code> şi se obţine un număr <code>m</code>. Se cere aflarea celui de-al <code>m</code> lea număr triunghiular.


= Date de intrare =
==Date de intrare==
Programul citește de la tastatură numărul <code>n</code>, iar apoi <code>n</code> numere naturale, separate prin spații.
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.


= Date de ieșire =
==Date de ieșire==
Programul va afișa pe ecran numărul <code>A</code>, reprezentând al <code>m</code>-lea număr triunghiular.
Programul va afișa pe ecran numărul A, reprezentând al m-lea număr triunghiular.


= Restricții și precizări =
==Restricții și precizări==
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:==
Intrare


* <code>1 ≤ n ≤ 1.000.000</code>
3
* cele <code>n</code> numere citite vor fi mai mici decât <code>2.000.000.000</code>
2016 2016 2016
* 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: =
Intrare
3
2016 2016 2016
Ieșire
Ieșire
2016


=== Explicație ===
2016
==Explicație==
Happy New Year !
Happy New Year !


== Încărcare soluție ==
==Încărcare soluție==
<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>

Revision as of 10:01, 30 April 2023

Cerința

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

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

Date de ieșire

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

Restricții și precizări

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:

Intrare

3 2016 2016 2016 Ieșire

2016

Explicație

Happy New Year !

Încărcare soluție

<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>