1908 - Fractii Ired: Difference between revisions
Paul Matei (talk | contribs) Pagină nouă: == Cerinţa == Dându-se şirul de fracţii '''1/N, 2/N, 3/N, ...,N/N''', să se afle câte fracţii sunt ireductibile. == Date de intrare == Programul citește de la tastatură numărul '''N'''. == Date de ieşire == Programul va afișa pe ecran numărul de fracţii ireductibile. == Restricții și precizări == *'''1 ≤ n ≤ 2.000.000.022''' == Exemplu == ; Intrare :4 ; Ieșire : 2 == Explicație == Fracţiile sunt '''1/4, 3/4'''. == Rezolvare == <syntaxhighlight lang=... |
Paul Matei (talk | contribs) No edit summary |
||
Line 16: | Line 16: | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
def | def validare_date(n): | ||
if not isinstance(n, int) or n < 1: | if not isinstance(n, int) or n < 1: | ||
return False | return False | ||
Line 23: | Line 23: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = int(input("Introduceti numarul: ")) | n = int(input("Introduceti numarul: ")) | ||
if | if validare_date(n): | ||
nr = n | nr = n | ||
Latest revision as of 11:27, 11 April 2023
Cerinţa[edit | edit source]
Dându-se şirul de fracţii 1/N, 2/N, 3/N, ...,N/N, să se afle câte fracţii sunt ireductibile.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul N.
Date de ieşire[edit | edit source]
Programul va afișa pe ecran numărul de fracţii ireductibile.
Restricții și precizări[edit | edit source]
- 1 ≤ n ≤ 2.000.000.022
Exemplu[edit | edit source]
- Intrare
- 4
- Ieșire
- 2
Explicație[edit | edit source]
Fracţiile sunt 1/4, 3/4.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def validare_date(n):
if not isinstance(n, int) or n < 1: return False return True
if __name__ == '__main__':
n = int(input("Introduceti numarul: ")) if validare_date(n): nr = n
d = 2 while n > 1: if n % d == 0: nr //= d nr *= d - 1 while n % d == 0: n //= d if d == 2: d = 3 else: d += 2 if d * d > n: d = n
print(nr) print("\nDatele de intrare corespund restricțiilor impuse.\n") else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicație rezolvare[edit | edit source]
Codul Python calculează funcția Euler Totient pentru un număr natural introdus de utilizator. În timpul procesului de calcul, se parcurg divizorii primi distincti ai numărului și se aplică o formulă specifică pentru a obține valoarea funcției. Codul include, de asemenea, o verificare a datelor de intrare pentru a asigura validitatea acestora.