1284 - Carte 1: Difference between revisions

From Bitnami MediaWiki
Sinn Erich (talk | contribs)
Sinn Erich (talk | contribs)
Line 24: Line 24:
== Rezolvare ==  
== Rezolvare ==  
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
#4273
#1284
def patrate_perfecte(n):
def read_number():
     patrate = []
     n = int(input("Introduceti numarul de cifre folosite pentru numerotarea paginilor: "))
     i = 1
     return n
    while len(patrate) < n:
def calculate_pages(n):
        patrat = i * i
    pagini = 0
        patrate.append(patrat)
    cifre = 0
        i += 1
    return patrate


    while cifre <= n:
        pagini += 1
        cifre += len(str(pagini))


def calculeaza(numbers):
    return pagini-1
     product = 1
def display_pages(total_pages):
    for number in numbers:
     print("Numarul de pagini al cartii este:", total_pages)
        product *= number
n = read_number()
    return product
total_pages = calculate_pages(n)
display_pages(total_pages)
</syntaxhighlight>
'''Explicatie cod:'''


Funcția 1: read_number()
Această funcție primește de la utilizator numărul de cifre folosite pentru numerotarea paginilor și îl returnează.


def validare_numar(n):
Funcția 2: calculate_pages(n)
    if n < 1 or n > 10:
Această funcție primește numărul de cifre folosite pentru numerotarea paginilor și calculează numărul total de pagini ale cărții.
        return False
    return True


 
Funcția 3: display_pages(total_pages)
if __name__ == '__main__':
Această funcție primește numărul total de pagini și îl afișează.
    n = int(input("Introduceți numărul n: "))
    if not validare_numar(n):
        print("Datele introduse nu corespund cerintelor.")
    else:
        squares = patrate_perfecte(n)
        product = calculeaza(squares)
        print("Datele introduse corespund cerintelor.")
        print(product)
 
 
</syntaxhighlight>

Revision as of 10:51, 1 April 2023

Sursa: [1]

Cerinţa

Pentru a se numerota paginile unei cărți s-au folosit n cifre. Câte pagini are cartea?

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul afișează pe ecran numărul p, reprezentând numărul de pagini ale carții.

Restricţii şi precizări

1 ≤ n ≤ 1.000.000

pentru fiecare test exista soluție.

numerotarea paginilor se face de la 1.

Exemplul 1

Intrare
1791
Ieșire
633


Rezolvare

<syntaxhighlight lang="python" line>

  1. 1284

def read_number():

   n = int(input("Introduceti numarul de cifre folosite pentru numerotarea paginilor: "))
   return n

def calculate_pages(n):

   pagini = 0
   cifre = 0
   while cifre <= n:
       pagini += 1
       cifre += len(str(pagini))
   return pagini-1

def display_pages(total_pages):

   print("Numarul de pagini al cartii este:", total_pages)

n = read_number() total_pages = calculate_pages(n) display_pages(total_pages) </syntaxhighlight> Explicatie cod:

Funcția 1: read_number() Această funcție primește de la utilizator numărul de cifre folosite pentru numerotarea paginilor și îl returnează.

Funcția 2: calculate_pages(n) Această funcție primește numărul de cifre folosite pentru numerotarea paginilor și calculează numărul total de pagini ale cărții.

Funcția 3: display_pages(total_pages) Această funcție primește numărul total de pagini și îl afișează.