0018 - Numarul de Divizori
Cerinţa
Se dă un număr natural numit ”numar”. Calculaţi numărul de divizori ai acestui numar.
Date de intrare
Fişierul de intrare nrdiv.in conţine pe prima linie numărul numar
Date de ieşire
Fişierul de ieşire nrdiv.out va conţine pe prima linie numărul numar_divizori, reprezentând numărul de divizori ai lui numar.
Restricții și precizări
- numar ∈ Ν
- 0 ⩽ numar ⩽ 100.000
Exemplu
- Intrare
- 6
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 4
Explicație
Pentru numărul 6 avem divizorii 1, 2, 3, 6 deci numărul acestora este egal cu 4.
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 nr_divizori(n):
numar_divizori = 0 for i in range(1, n + 1): if n % i == 0: numar_divizori += 1 return numar_divizori
if __name__ == '__main__':
numar = input() if validare_date(numar): print("\nDatele de intrare corespund restricțiilor impuse.\n") with open('nrdiv.in', 'r') as f: n = int(f.readline()) with open('nrdiv.out', 'w') as f: f.write(str(nr_divizori(n))) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>