0408 - Divizorii Oglinditului: Difference between revisions
Robert Manc (talk | contribs) Pagină nouă: == Cerinţa == Se dă un număr natural numit ”'''numar'''”. Să se determine numărul de divizori ai oglinditului lui ”'''numar'''”. == Date de intrare == Programul citește de la tastatură un număr natural ”'''numar'''”. == Date de ieşire == Programul afișează pe ecran '''numar_divizori''' , reprezentând rezultatul cerut. == Restricții și precizări == * numar ∈ Ν * 0 ⩽ numar ⩽ 1.000.000.000 == Exemplu == ; Intrare : 63 ; Ieșire : Datele... |
Robert Manc (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 12: | Line 12: | ||
: 63 | : 63 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 9 | : 9 | ||
== Explicație == | == Explicație == | ||
Line 44: | Line 44: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Explicație == | |||
Funcția validare_date(numar) primește un singur parametru numar și verifică dacă acesta este un număr întreg pozitiv și se află între 0 și 1_000_000_000. Dacă aceste condiții sunt îndeplinite, funcția returnează True, altfel returnează False. | |||
Funcția numar_divizori_oglindit(n) primește un singur parametru n și calculează numărul de divizori ai numărului oglindit al lui n. Mai întâi, se calculează numărul oglindit al lui n și se salvează în variabila oglindit. Apoi, se calculează numărul de divizori ai oglindit prin iterarea prin numerele de la 1 la oglindit și verificarea dacă acestea sunt divizori ai lui oglindit. Numărul de divizori este stocat în variabila numar_divizori. Rezultatul este afișat prin apelul funcției print(). | |||
În funcția main(), utilizatorul introduce un număr, care este verificat folosind funcția validare_date(). Dacă numărul respectă restricțiile, se afișează un mesaj corespunzător și se calculează și se afișează numărul de divizori ai numărului oglindit al numărului dat, prin apelul funcției numar_divizori_oglindit(). Dacă numărul nu respectă restricțiile, se afișează un mesaj de eroare. |
Latest revision as of 10:04, 25 April 2023
Cerinţa[edit | edit source]
Se dă un număr natural numit ”numar”. Să se determine numărul de divizori ai oglinditului lui ”numar”.
Date de intrare[edit | edit source]
Programul citește de la tastatură un număr natural ”numar”.
Date de ieşire[edit | edit source]
Programul afișează pe ecran numar_divizori , reprezentând rezultatul cerut.
Restricții și precizări[edit | edit source]
- numar ∈ Ν
- 0 ⩽ numar ⩽ 1.000.000.000
Exemplu[edit | edit source]
- Intrare
- 63
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 9
Explicație[edit | edit source]
Oglinditul lui 63 este 36, care are 9 divizori.
Rezolvare[edit | edit source]
<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 numar_divizori_oglindit(n):
oglindit = int(str(n)[::-1]) numar_divizori = 0 for i in range(1, oglindit+1): if oglindit % i == 0: numar_divizori += 1 print(numar_divizori)
if __name__ == '__main__':
numar = input() if validare_date(numar): print("\nDatele de intrare corespund restricțiilor impuse.\n") numar_divizori_oglindit(int(numar)) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicație[edit | edit source]
Funcția validare_date(numar) primește un singur parametru numar și verifică dacă acesta este un număr întreg pozitiv și se află între 0 și 1_000_000_000. Dacă aceste condiții sunt îndeplinite, funcția returnează True, altfel returnează False.
Funcția numar_divizori_oglindit(n) primește un singur parametru n și calculează numărul de divizori ai numărului oglindit al lui n. Mai întâi, se calculează numărul oglindit al lui n și se salvează în variabila oglindit. Apoi, se calculează numărul de divizori ai oglindit prin iterarea prin numerele de la 1 la oglindit și verificarea dacă acestea sunt divizori ai lui oglindit. Numărul de divizori este stocat în variabila numar_divizori. Rezultatul este afișat prin apelul funcției print().
În funcția main(), utilizatorul introduce un număr, care este verificat folosind funcția validare_date(). Dacă numărul respectă restricțiile, se afișează un mesaj corespunzător și se calculează și se afișează numărul de divizori ai numărului oglindit al numărului dat, prin apelul funcției numar_divizori_oglindit(). Dacă numărul nu respectă restricțiile, se afișează un mesaj de eroare.