2222 - P10 P10: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Cerința==
==Cerința==
Se dau două numere naturale <span style="color: red;"> n </span>, care este putere a lui <span style="color: red;"> 10 </span> și <span style="color: red;"> k</span>. Să se afișeze <span style="color: red;"> </span>.
Se dau două numere naturale <span style="color: red;"> n </span>, care este putere a lui <span style="color: red;"> 10 </span> și <span style="color: red;"> k</span>. Să se afișeze <span style="color: red;"> n^k </span>.


==Date de intrare==
==Date de intrare==
Line 6: Line 6:


==Date de ieșire==
==Date de ieșire==
Programul va afișa pe ecran numărul P, reprezentând n˚.
Dacă datele sunt introduse corect, pe ecran se va afișa: '''"Datele sunt introduse corect."''', apoi programul va afișa pe ecran numărul P, reprezentând n˚.. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: '''"Datele nu sunt introduse corect."'''


==Restricții și precizări==
==Restricții și precizări==
Line 15: Line 15:


Intrare
Intrare
100 3
: 100 3


Ieșire
Ieșire
1000000
: Datele sunt introduse corect.
: 1000000


==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
def validate_input(n, k):
def validare_date(n, k):
     if not (isinstance(n, int) and isinstance(k, int)):
    flag = False
        raise ValueError("Both n and k should be integers.")
     if 0 < int(n) <= 1_000_000_000 and 0 <= int(k) <= 1_0000:
    if n <= 0 or n % 10 != 0:
         flag = True
         raise ValueError("n should be a positive integer power of 10.")
     return flag
     if k < 0 or k > 1000:
 
        raise ValueError("k should be between 0 and 1000.")


def calculate_power(n, k):
def calculate_power(n, k):
     return (10 ** n) * k
     print(n ** k)


def main():
    n = int(input("Enter n (power of 10): "))
    k = int(input("Enter k: "))
    validate_input(n, k)
    result = calculate_power(n, k)
    print(result)


if __name__ == "__main__":
if __name__ == "__main__":
     main()
     n = int(input())
    k = int(input())
    if validare_date(n, k):
        print("Datele sunt introduse corect.")
        calculate_power(n, k)
    else:
        print("Datele nu sunt introduse corect.")
</syntaxhighlight>
</syntaxhighlight>
==Explicatie cod==
Codul Python de mai sus definește două funcții: validare_date și calculate_power. Iată o explicație pentru fiecare dintre ele:
Funcția validare_date(n, k):
Această funcție primește doi parametri, n și k, reprezentând două numere întregi.
Verifică dacă n se află în intervalul deschis (0, 1_000_000_000] și dacă k se află în intervalul închis [0, 10_000]. Dacă ambele condiții sunt îndeplinite, variabila flag este setată la True.
Funcția returnează valoarea variabilei flag.
Funcția calculate_power(n, k):
Această funcție primește doi parametri, n și k, reprezentând două numere întregi.
Funcția calculează n ridicat la puterea k și afișează rezultatul.
În cadrul secțiunii if __name__ == "__main__": se realizează următoarele acțiuni:
Se citește de la tastatură un număr întreg n.
Se citește de la tastatură un număr întreg k.
Se apelează funcția validare_date(n, k) pentru a verifica validitatea datelor. Dacă datele sunt valide, se afișează mesajul "Datele sunt introduse corect.", se apelează funcția calculate_power(n, k) pentru a calcula și afișa puterea, altfel se afișează mesajul "Datele nu sunt introduse corect."

Latest revision as of 17:56, 29 June 2023

Cerința[edit | edit source]

Se dau două numere naturale n , care este putere a lui 10 și k. Să se afișeze n^k .

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele n și k.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi programul va afișa pe ecran numărul P, reprezentând n˚.. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele nu sunt introduse corect."

Restricții și precizări[edit | edit source]

1 ≤ n ≤ 1.000.000.000, n este putere a lui 10 0 ≤ k ≤ 1.000

Exemplu:[edit | edit source]

Intrare

100 3

Ieșire

Datele sunt introduse corect.
1000000

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line="1"> def validare_date(n, k):

   flag = False
   if 0 < int(n) <= 1_000_000_000 and 0 <= int(k) <= 1_0000:
       flag = True
   return flag


def calculate_power(n, k):

   print(n ** k)


if __name__ == "__main__":

   n = int(input())
   k = int(input())
   if validare_date(n, k):
       print("Datele sunt introduse corect.")
       calculate_power(n, k)
   else:
       print("Datele nu sunt introduse corect.")

</syntaxhighlight>

Explicatie cod[edit | edit source]

Codul Python de mai sus definește două funcții: validare_date și calculate_power. Iată o explicație pentru fiecare dintre ele:

Funcția validare_date(n, k): Această funcție primește doi parametri, n și k, reprezentând două numere întregi. Verifică dacă n se află în intervalul deschis (0, 1_000_000_000] și dacă k se află în intervalul închis [0, 10_000]. Dacă ambele condiții sunt îndeplinite, variabila flag este setată la True. Funcția returnează valoarea variabilei flag. Funcția calculate_power(n, k): Această funcție primește doi parametri, n și k, reprezentând două numere întregi. Funcția calculează n ridicat la puterea k și afișează rezultatul. În cadrul secțiunii if __name__ == "__main__": se realizează următoarele acțiuni:

Se citește de la tastatură un număr întreg n. Se citește de la tastatură un număr întreg k. Se apelează funcția validare_date(n, k) pentru a verifica validitatea datelor. Dacă datele sunt valide, se afișează mesajul "Datele sunt introduse corect.", se apelează funcția calculate_power(n, k) pentru a calcula și afișa puterea, altfel se afișează mesajul "Datele nu sunt introduse corect."