1479 - Pretios: Difference between revisions
Pagină nouă: == Cerință == Un număr natural în baza 10 se numește prețios dacă numărul de cifre ale sale din baza 2 este număr prim. == Date de intrare == Se dă un interval [a,b].Determinați câte numere prețioase se află în acest interval. == Date de ieșire == Programul afișează pe ecran valoarea cerută. == Restricții de precizări == *1 ⩽ a, b ⩽ 10000 == Exemplul 1== ; Intrare : 1 : 4 ; Ieșire : Datele introduse corespund restricțiilor impuse. : 3 <br> == E... |
No edit summary |
||
Line 2: | Line 2: | ||
Un număr natural în baza 10 se numește prețios dacă numărul de cifre ale sale din baza 2 este număr prim. | Un număr natural în baza 10 se numește prețios dacă numărul de cifre ale sale din baza 2 este număr prim. | ||
== Date de intrare == | == Date de intrare == | ||
Se dă un interval [a,b].Determinați câte numere prețioase se află în acest interval. | Se dă un interval '''[a,b]'''.Determinați câte numere prețioase se află în acest interval. | ||
== Date de ieșire == | == Date de ieșire == | ||
Programul afișează pe ecran valoarea cerută. | Programul afișează pe ecran valoarea cerută. | ||
== Restricții de precizări == | == Restricții de precizări == | ||
*1 ⩽ a, b ⩽ 10000 | *1 ⩽ '''a, b''' ⩽ 10000 | ||
== Exemplul 1== | == Exemplul 1== | ||
; Intrare | ; Intrare | ||
Line 14: | Line 14: | ||
: Datele introduse corespund restricțiilor impuse. | : Datele introduse corespund restricțiilor impuse. | ||
: 3 | : 3 | ||
== Exemplul 2 == | == Exemplul 2 == | ||
; Intrare | ; Intrare | ||
Line 22: | Line 21: | ||
: Datele introduse corespund restricțiilor impuse. | : Datele introduse corespund restricțiilor impuse. | ||
: 10 | : 10 | ||
< | == Rezolvare ver. 1 == | ||
== | <syntaxhighlight lang="python" line="1" start="1"> | ||
import math | |||
def validare_date(a, b): | |||
return a.isdigit() and b.isdigit() and 1 <= int(a), int(b) <= 10000 | |||
def nr_pretioase(): | |||
nr_pretioase = 0 | |||
for numar in range(a, b+1): | |||
suma = 0 | |||
cifre = str(numar) | |||
for cifra in cifre: | |||
suma += int(cifra)**2 | |||
if math.isqrt(suma)**2 == suma: | |||
nr_pretioase += 1 | |||
print("Numărul de numere prețioase din intervalul dat este:", nr_pretioase) | |||
if __name__ == '__main__': | |||
a = int(input("Introduceți numărul a: ")) | |||
b = int(input("Introduceți numărul b: ")) | |||
if validare_date(a, b): | |||
a, b = int(a), int(b) | |||
print("Datele de intrare corespund restricțiilor impuse.") | |||
nr_pretioase(a, b) | |||
else: | |||
print("Datele de intrare nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> |
Revision as of 07:35, 17 March 2023
Cerință
Un număr natural în baza 10 se numește prețios dacă numărul de cifre ale sale din baza 2 este număr prim.
Date de intrare
Se dă un interval [a,b].Determinați câte numere prețioase se află în acest interval.
Date de ieșire
Programul afișează pe ecran valoarea cerută.
Restricții de precizări
- 1 ⩽ a, b ⩽ 10000
Exemplul 1
- Intrare
- 1
- 4
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 3
Exemplul 2
- Intrare
- 1
- 100
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 10
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> import math
def validare_date(a, b):
return a.isdigit() and b.isdigit() and 1 <= int(a), int(b) <= 10000
def nr_pretioase():
nr_pretioase = 0
for numar in range(a, b+1): suma = 0 cifre = str(numar) for cifra in cifre: suma += int(cifra)**2 if math.isqrt(suma)**2 == suma: nr_pretioase += 1
print("Numărul de numere prețioase din intervalul dat este:", nr_pretioase)
if __name__ == '__main__':
a = int(input("Introduceți numărul a: ")) b = int(input("Introduceți numărul b: "))
if validare_date(a, b): a, b = int(a), int(b) print("Datele de intrare corespund restricțiilor impuse.") nr_pretioase(a, b) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>