Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
1295 - Cif Pagini
(section)
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Rezolvare == <syntaxhighlight lang="python" line> #1295 def is_prime(n): """ Verifică dacă un număr este prim sau nu. """ if n <= 1: return False for i in range(2, int(n**0.5)+1): if n % i == 0: return False return True def num_digits(n): """ Numără numărul de cifre dintr-un număr. """ return len(str(n)) def find_consecutive_primes(n, p): """ Găsește primele n numere prime consecutive după p. """ pages = [] num = p while len(pages) < n: if is_prime(num): pages.append(num) num += 1 return pages def calculate_total(n, p, v): """ Calculează numărul total de pagini sau cifre. """ pages = find_consecutive_primes(n, p) if v == 1: total_pages = sum(pages) return total_pages elif v == 2: total_digits = sum(num_digits(p) for p in pages) return total_digits def validate_input(n, p, v): """ Verifică dacă datele introduse sunt corecte. """ if n <= 0 or p <= 0 or v not in [1, 2]: print( "Datele nu corespund restricțiilor impuse.") return False return True if __name__ == '__main__': n, p, v = map(int, input("Introdu cele trei numere:").split()) if validate_input(n, p, v): print("Datele sunt corecte") total = calculate_total(n, p, v) print(total) </syntaxhighlight> '''Explicatie cod:''' Acest cod definește trei funcții și le folosește pentru a calcula numărul total de pagini sau cifre într-un set de cărți. Funcția is_prime(n) primește un număr întreg n și returnează True dacă este prim și False în caz contrar. Această funcție utilizează un algoritm de determinare a primelor, parcurgând toate numerele de la 2 la radicalul pătrat al lui n și verificând dacă n este divizibil cu vreunul dintre acestea. Funcția num_digits(n) primește un număr întreg n și returnează numărul de cifre din n. Pentru a face acest lucru, funcția transformă întregul într-un șir de caractere utilizând str(n) și returnează lungimea acestuia utilizând len(). Funcția find_consecutive_primes(n, p) primește doi parametri întregi, n și p, și găsește primele n numere prime consecutive începând cu p. Această funcție utilizează funcția is_prime() pentru a verifica dacă fiecare număr este prim și adaugă numerele prime găsite într-o listă până când lungimea listei este egală cu n. Funcția calculate_total(n, p, v) primește trei parametri întregi, n, p și v, și calculează numărul total de pagini sau cifre, în funcție de valoarea lui v. Această funcție utilizează funcția find_consecutive_primes() pentru a găsi numerele prime și returnează suma lor dacă v este 1 sau suma numărului de cifre ale acestora dacă v este 2. În cele din urmă, codul citește trei numere întregi de la tastatură și apelează funcția calculate_total() cu acestea pentru a calcula numărul total de pagini sau cifre, în funcție de valoarea celui de-al treilea număr. Rezultatul este apoi afișat utilizând print().
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width