1309 - Gresie: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
Line 27: Line 27:
=== Rezolvare ver. 1 ===
=== Rezolvare ver. 1 ===
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def main():
def validare_date(n):
    return n.isdigit() and 1 <= int(d) <= int(a), int(b) <= 10


a = int(input("Introduceți lungimea încăperii: "))
b = int(input("Introduceți lățimea încăperii: "))
d = int(input("Introduceți dimensiunea laturii pătratelor de gresie: "))


nr_bucati_lungime = a // d
def bucati(a, b, d):
nr_bucati_latime = b // d


if a % d != 0:
     nr_bucati_lungime = a // d
     nr_bucati_lungime += 1
     nr_bucati_latime = b // d
if b % d != 0:
     nr_bucati_latime += 1


nr_total_bucati = nr_bucati_lungime * nr_bucati_latime
    if a % d != 0:
        nr_bucati_lungime += 1
    if b % d != 0:
        nr_bucati_latime += 1
 
    nr_total_bucati = nr_bucati_lungime * nr_bucati_latime
 
    print("Numărul minim de bucăți de gresie necesare pentru pavarea încăperii este: ", nr_total_bucati)
 
 
if __name__ == '__main__':
 
    a = int(input("Introduceți lungimea încăperii: "))
    b = int(input("Introduceți lățimea încăperii: "))
    d = int(input("Introduceți dimensiunea laturii pătratelor de gresie: "))
 
    if validare_date(a, b, d):
        a, b, d = int(a), int(b), int(d)
        print("Datele de intrare corespund restricțiilor impuse.")
        bucati(a, b, d)
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")


print("Numărul minim de bucăți de gresie necesare pentru pavarea încăperii este: ", nr_total_bucati)
</syntaxhighlight>
</syntaxhighlight>

Revision as of 08:27, 16 March 2023

Cerință

Se consideră o încăpere de formă dreptunghiulară cu dimensiunile a b. Încăperea trebuie pavată cu gresie de formă pătratică, de dimensiune d. Știind că o bucată de gresie se poate folosi întreagă sau tăiată, să se determine numărul minim de bucăți de gresie sunt necesare pentru pavarea încăperii.

Date de intrare

Programul citește de la tastatură numerele naturale a b d.

Date de ieșire

Programul afișează pe ecran numărul minim de bucăți de gresie necesare pentru pavarea încăperii.

Restricții de precizări

  • 1 ⩽ da, b ⩽ 10

Exemplul 1

Intrare
12
17
3
Ieșire
Datele introduse corespund restricțiilor impuse.
24


Exemplul 2

Intrare
10
15
5
Ieșire
Datele introduse corespund restricțiilor impuse.
6

Rezolvare ver. 1

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

   return n.isdigit() and 1 <= int(d) <= int(a), int(b) <= 10


def bucati(a, b, d):

   nr_bucati_lungime = a // d
   nr_bucati_latime = b // d
   if a % d != 0:
       nr_bucati_lungime += 1
   if b % d != 0:
       nr_bucati_latime += 1
   nr_total_bucati = nr_bucati_lungime * nr_bucati_latime
   print("Numărul minim de bucăți de gresie necesare pentru pavarea încăperii este: ", nr_total_bucati)


if __name__ == '__main__':

   a = int(input("Introduceți lungimea încăperii: "))
   b = int(input("Introduceți lățimea încăperii: "))
   d = int(input("Introduceți dimensiunea laturii pătratelor de gresie: "))
   if validare_date(a, b, d):
       a, b, d = int(a), int(b), int(d)
       print("Datele de intrare corespund restricțiilor impuse.")
       bucati(a, b, d)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>