0376 - Suma Divizori: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 2: Line 2:
Se dă un număr natural numit ”'''numar'''”. Să se determine suma divizorilor ai acestuia.
Se dă un număr natural numit ”'''numar'''”. Să se determine suma divizorilor ai acestuia.
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură un numărul natural ”'''numar'''”.
Programul citește de la tastatură un număr natural ”'''numar'''”.
== Date de ieşire ==
== Date de ieşire ==
Programul afișează pe ecran numărul ”'''suma'''”, reprezentând suma divizorilor lui ”'''numar'''”.
Programul afișează pe ecran numărul ”'''suma'''”, reprezentând suma divizorilor lui ”'''numar'''”.
== Restricții și precizări ==
== Restricții și precizări ==
* numar; Ν
* numar ∈ Ν
* 0 ⩽ numar ⩽ 1.000.000.000
* 0 ⩽ numar ⩽ 1.000.000.000
== Exemplu ==
== Exemplu ==
Line 12: Line 12:
: 6
: 6
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: Datele de intrare corespund restricțiilor impuse.
: 12
: 12
<br>
<br>
Line 18: Line 18:
: -5
: -5
; Ieșire
; Ieșire
: Datele introduse nu corespund restricțiilor impuse.
: Datele de intrare nu corespund restricțiilor impuse.
 
== Explicație ==  
== Explicație ==  
Divizorii lui '''6''' sunt '''1''', '''2''', '''3''', '''6'''. Suma lor este '''12'''.
Divizorii lui '''6''' sunt '''1''', '''2''', '''3''', '''6'''. Suma lor este '''12'''.
Line 47: Line 48:


</syntaxhighlight>
</syntaxhighlight>
== Explicație ==
Acest cod calculează suma divizorilor unui număr întreg dat și verifică dacă numărul este valid, adică este un șir de caractere care conține un număr întreg în intervalul [0, 1000000000]. Dacă numărul este valid, funcția calculează suma divizorilor și o afișează pe ecran, altfel afișează un mesaj de eroare.

Latest revision as of 09:48, 25 April 2023

Cerinţa[edit]

Se dă un număr natural numit ”numar”. Să se determine suma divizorilor ai acestuia.

Date de intrare[edit]

Programul citește de la tastatură un număr natural ”numar”.

Date de ieşire[edit]

Programul afișează pe ecran numărul ”suma”, reprezentând suma divizorilor lui ”numar”.

Restricții și precizări[edit]

  • numar ∈ Ν
  • 0 ⩽ numar ⩽ 1.000.000.000

Exemplu[edit]

Intrare
6
Ieșire
Datele de intrare corespund restricțiilor impuse.
12


Intrare
-5
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Explicație[edit]

Divizorii lui 6 sunt 1, 2, 3, 6. Suma lor este 12.

Rezolvare[edit]

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

   flag = False
   if numar.isdigit():
       if 0 <= int(numar) <= 1_000_000_000:
           flag = True
   return flag

def suma(numar):

   suma_divizorilor = 0
   for i in range(1, numar // 2 + 1):
       if numar % i == 0:
           suma_divizorilor += i
   suma_divizorilor += numar
   print(suma_divizorilor)

if __name__ == '__main__':

   numar = input()
   if validare_date(numar):
       print("\nDatele de intrare corespund restricțiilor impuse.\n")
       suma(int(numar))
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>

Explicație[edit]

Acest cod calculează suma divizorilor unui număr întreg dat și verifică dacă numărul este valid, adică este un șir de caractere care conține un număr întreg în intervalul [0, 1000000000]. Dacă numărul este valid, funcția calculează suma divizorilor și o afișează pe ecran, altfel afișează un mesaj de eroare.