0376 - Suma Divizori: Difference between revisions
Diana Butuza (talk | contribs) No edit summary |
Robert Manc (talk | contribs) No edit summary |
||
| (7 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 | 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 ∈ Ν | ||
* 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 | : 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 == | ||
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
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.