0376 - Suma Divizori: Difference between revisions
Diana Butuza (talk | contribs) |
Robert Manc (talk | contribs) No edit summary |
||
| (One intermediate revision by one other user not shown) | |||
| Line 12: | Line 12: | ||
: 6 | : 6 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 12 | : 12 | ||
<br> | <br> | ||
| Line 18: | Line 18: | ||
: -5 | : -5 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare nu corespund restricțiilor impuse. | ||
== Explicație == | == Explicație == | ||
| Line 48: | 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
Se dă un număr natural numit ”numar”. Să se determine suma divizorilor ai acestuia.
Date de intrare
Programul citește de la tastatură un număr natural ”numar”.
Date de ieşire
Programul afișează pe ecran numărul ”suma”, reprezentând suma divizorilor lui ”numar”.
Restricții și precizări
- numar ∈ Ν
- 0 ⩽ numar ⩽ 1.000.000.000
Exemplu
- 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
Divizorii lui 6 sunt 1, 2, 3, 6. Suma lor este 12.
Rezolvare
<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
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.