Talk:Pagina principală: Difference between revisions

From Bitnami MediaWiki
Line 506: Line 506:
else:
else:
     print("Datele de intrare nu corespund restrictiilor impuse.")
     print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>
== Rezolvare ==
<syntaxhighlight lang="python" line="1">
# 0207-GenMat2
# Citirea numărului n de la tastatură
n = int(input())
# Verificarea restricțiilor impuse
if 2 <= n <= 24:
    print("Datele de intrare corespund restrictiilor impuse.")
    # Construirea matricei conform cerințelor și afișarea ei
    matrice = [[0] * n for _ in range(n)]
    for i in range(n):
        for j in range(n):
            if i == j:
                matrice[i][j] = 0
            else:
                coloana = n - j
                matrice[i][j] = coloana
    # Afișarea matricei pe ecran
    for linie in matrice:
        print(" ".join(map(str, linie)))
else:
    print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>
</syntaxhighlight>



Revision as of 15:13, 27 November 2023

2938 - Albina

Cerința

Într-un stup, pe un fagure de miere infinit, trăiește o albină foarte harnică. Fagurele este alcătuit din celule hexagonale, fiecare celulă având șase vecini. În prima zi albina depune nectar într-o singură celulă. În fiecare din zilele următoarele, albina depune nectar în celulele vecine cu cele în care a fost deja depus nectar. Aflați în câte celule este depus nectar după n zile.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran numărul C, reprezentând numărul de celule în care este depus nectar după n zile.

Restricții și precizări

  • 1 ⩽ zile ⩽ 1000000

Exemplu 1

Intrare
4
Ieșire
Datele de intrare corespund restricțiilor impuse
37


Exemplu 2

Intrare
0
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 2938 - Albina

def numar_celule_nectar(n):

   # Verificare dacă datele de intrare respectă restricțiile
   if 1 <= n <= 1000000:
       # Calculul numărului total de celule după n zile
       Celule = 1 + 6 * (n * (n + 1) // 2)
       return Celule
   else:
       return None
  1. Citirea numărului de zile de la tastatură

n = int(input("Introduceți numărul de zile (1 <= zile <= 1000000): "))

  1. Calculul și afișarea rezultatului

rezultat = numar_celule_nectar(n) if rezultat is not None:

   print(rezultat)

else:

   print("Nu au fost respectate cerințele impuse.")

</syntaxhighlight>

2377 - Pisici

Cerința

Se cunoaște faptul ca n_numar pisici mănâncă n_numar șoareci în n_numar minute. Sa se determine în cat timp mănâncă m_numar pisici m_numar șoareci.

Date de intrare

Programul citește de la tastatură numerele n_numar si m_numar.

Date de ieșire

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afișa pe ecran numărul timp, reprezentând timpul necesar pentru ca m_numar pisici sa manance m_numar soareci.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".

Restricții și precizări

  • 1 ⩽ n_numar, m_numar ⩽ 100000000000

Exemplu 1

Intrare
3
100
Ieșire
Datele de intrare corespund restricțiilor impuse
3


Exemplu 2

Intrare
0
100
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 2377 - Pisici
  2. Citirea numerelor de la tastatură

n_numar = int(input("Introduceți numărul n_numar (1 <= n_numar <= 100000000000): ")) m_numar = int(input("Introduceți numărul m_numar (1 <= m_numar <= 100000000000): "))

  1. Verificare dacă datele de intrare respectă restricțiile

if 1 <= n_numar <= 100000000000 and 1 <= m_numar <= 100000000000:

   # Calculul timpului necesar
   timp = (m_numar // n_numar) + (1 if m_numar % n_numar != 0 else 0)
   # Afișarea rezultatului
   print("Datele de intrare corespund restricțiilor impuse")
   print(timp)

else:

   print("Nu au fost respectate cerințele impuse.")

</syntaxhighlight>

0182 - Cub

Cerința

Să se scrie un program care determină aria totală şi volumul unui cub pentru care se cunoaşte lungimea laturii.

Date de intrare

Programul citește de la tastatură numărul natural latura, reprezentând lungimea laturii cubului.

Date de ieșire

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afișa pe ecran aria totală şi volumul cubului dat, separate printr-un spaţiu.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".

Restricții și precizări

  • 1 ⩽ latura ⩽ 1000

Exemplu 1

Intrare
5
Ieșire
Datele de intrare corespund restricțiilor impuse
150 125


Exemplu 2

Intrare
1001
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0182 - Cub
  2. Citirea lungimii laturii de la tastatură

latura = int(input())

  1. Verificarea restricțiilor impuse

if 1 <= latura <= 1000:

   print("Datele de intrare corespund restricțiilor impuse")
   # Calcularea ariei totale și volumului cubului
   aria_totala = 6 * latura ** 2
   volumul = latura ** 3
   # Afișarea rezultatelor
   print(f"{aria_totala} {volumul}")

else:

   print("Nu au fost respectate cerintele impuse")

</syntaxhighlight>

3810 - Sfera

Cerința

Se dă raza unei sfere. Aflați aria și volumul sferei.

Date de intrare

Programul citește de la tastatură numărul raza, reprezentând raza sferei.

Date de ieșire

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se vor afișa pe ecran numerele arie și volumul, reprezentând aria și volumul sferei, cu 2 zecimale exacte, fără rotunjire.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".

Restricții și precizări

  • 1 ⩽ raza ⩽ 1000

Exemplu 1

Intrare
5
Ieșire
Datele de intrare corespund restricțiilor impuse
314.15 523.59


Exemplu 2

Intrare
0
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 3810 - Sfera
  2. Importam pi din modulul math

import math

  1. Citirea razei de la tastatură

raza = float(input())

  1. Verificarea restricțiilor impuse

if 1 <= raza <= 1000:

   print("Datele de intrare corespund restricțiilor impuse")
   # Calcularea ariei și volumului sferei
   arie = 4 * math.pi * raza**2
   volum = (4 / 3) * math.pi * raza**3
   # Afișarea rezultatelor cu 2 zecimale exacte
   print(f"{arie:.2f} {volum:.2f}")

else:

   print("Nu au fost respectate cerintele impuse")

</syntaxhighlight>

0103 - Curte

Cerința

Curtea bunicului are formă dreptunghiulară şi se cunosc lungimea şi lăţimea ei. Să se determine aria acestei curţi, precum şi lungimea gardului care înconjoară curtea.

Date de intrare

Programul va citi de la tastatură două numere naturale lungimea şi latimea, reprezentând dimensiunile curţii.

Date de ieșire

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afişa pe ecran două numere, separate prin exact un spaţiu, reprezentând aria curţii bunicului, respectiv lungimea gardului care o înconjoară.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".

Restricții și precizări

  • 0 < lungimea, latimea < 10000

Exemplu 1

Intrare
20
12
Ieșire
Datele de intrare corespund restricțiilor impuse
240 64


Exemplu 2

Intrare
0
12
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0103 - Curte
  2. Citirea lungimii și lățimii curții de la tastatură

lungimea = int(input()) latimea = int(input())

  1. Verificarea restricțiilor impuse

if 0 < lungimea < 10000 and 0 < latimea < 10000:

   print("Datele de intrare corespund restricțiilor impuse")
   # Calcularea ariei și lungimii gardului
   aria = lungimea * latimea
   lungime_gard = 2 * (lungimea + latimea)
   # Afișarea rezultatelor
   print(f"{aria} {lungime_gard}")

else:

   print("Nu au fost respectate cerintele impuse")

</syntaxhighlight>

0176 - Picioare1

Cerința

Într-o curte sunt găini și oi. Se cunoaște numărul de capete și numărul de picioare din curte. Să se determine numărul de găini și numărul de oi.

Date de intrare

Programul citește de la tastatură numerele capete și picioare, reprezentând numărul de capete și numărul de picioare din curte.

Date de ieșire

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afișeaza pe ecran numerele gaini și oi, separate printr-un spațiu, reprezentând numărul de găini și numărul de oi din curte.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".

Restricții și precizări

  • 0 < capete, picioare < 1000000000
  • 0 ⩽ gaini, oi

Exemplu 1

Intrare
5
14
Ieșire
Datele de intrare corespund restricțiilor impuse
3 2


Exemplu 2

Intrare
4
20
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0176 - picioare1
  2. Citirea numărului de capete și picioare de la tastatură

capete = int(input()) picioare = int(input())

  1. Verificarea restricțiilor impuse

if 0 < capete < 1000000000 and 0 < picioare < 1000000000:

   print("Datele de intrare corespund restricțiilor impuse")
   # Calcularea numărului de găini și oi
   # Ecuațiile sunt:
   # gaini + oi = capete
   # 2 * gaini + 4 * oi = picioare
   # Se rezolvă sistemul de ecuații pentru a găsi numărul de găini și oi
   gaini = (4 * capete - picioare) // 2
   oi = capete - gaini
   # Afișarea rezultatelor
   print(f"{gaini} {oi}")

else:

   print("Nu au fost respectate cerintele impuse")

</syntaxhighlight>

3458 - SinCos

Cerința

Se dă un număr natural x, reprezentând mărimea în grade sexagesimale a unui unghi. Să se afișeze sin(x) și cos(x).

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran două numere separate printr-un spațiu, reprezentând sin(x) și cos(x).

Restricții și precizări

  • 1 ≤ x ≤ 180;
  • se recomandă afișarea rezultatelor cu cel puțin trei zecimale;

Exemplul 1

Intrare
30
Ieșire
Datele de intrare corespund restricțiilor impuse.
0.5 0.866

Exemplul 2

Intrare
181
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare

<syntaxhighlight lang="python" line="1">

  1. 3458 - Sin Cos

import math

  1. Citirea unghiului de la tastatură

x = int(input())

  1. Verificarea restricțiilor impuse

if 1 <= x <= 180:

   print("Datele de intrare corespund restricțiilor impuse.")
   # Calcularea sin(x) și cos(x) cu cel puțin trei zecimale
   sin_x = round(math.sin(math.radians(x)), 3)
   cos_x = round(math.cos(math.radians(x)), 3)
   # Afișarea rezultatelor
   print(f"{sin_x} {cos_x}")

else:

   print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>

0510 - SortPrime

Cerinţa

Se dă un vector cu n elemente, numere naturale. Afișați în ordine crescătoare valorile prime din acest vector.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.

Date de ieșire

Programul va afișa pe ecran valorile prime din vector, în ordine crescătoare, separate prin exact un spațiu.

Restricţii şi precizări

  • 1 ≤ n ⩽ 1000

cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu 1

Intrare
7
13 1 10 15 3 7 11
Ieșire
3 7 11 13

Exemplu 2

Intrare
5
3 10 15 32 5
Iesire
3 5

Rezolvare

<syntaxhighlight lang="python" line>

def este_prim(numar):

   if numar < 2:
       return False
   for i in range(2, int(numar ** 0.5) + 1):
       if numar % i == 0:
           return False
   return True
  1. Citirea numărului de elemente al vectorului

n = int(input())

  1. Citirea elementelor vectorului

vector = list(map(int, input().split()))

  1. Filtrarea și afișarea valorilor prime în ordine crescătoare

valori_prime = sorted([numar for numar in vector if este_prim(numar)])

print(" ".join(map(str, valori_prime))) </syntaxhighlight>

0206 - GenMat1

Cerință

Scrieţi un program care citeşte de la tastatură două numere naturale nenule n şi m şi care construieşte în memorie şi apoi afişează o matrice A cu n linii (numerotate de la 1 la n) şi m coloane (numerotate de la 1 la m) cu proprietatea că fiecare element Aij memorează cea mai mică dintre valorile indicilor i şi j ( 1≤i≤n, 1≤j≤m ).

Date de intrare

Programul citește de la tastatură numerele n şi m

Date de ieşire

Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse".

Restricții și precizări

  • 2≤m≤20 , 2≤n≤20

Exemplu 1

Intrare
4
5
Ieșire
Datele introduse corespund restricțiilor impuse.
1 1 1 1 1
1 2 2 2 2
1 2 3 3 3
1 2 3 4 4


Exemplu 2

Intrare
-1
-2
Ieșire
Datele de intrare nu corespund restricțiilor impuse.


Rezolvare

<syntaxhighlight lang="python" line="1">

  1. 0206-GenMat1
  2. Citirea numerelor n și m de la tastatură

n = int(input()) m = int(input())

  1. Verificarea restricțiilor impuse

if 2 <= m <= 20 and 2 <= n <= 20:

   print("Datele de intrare corespund restrictiilor impuse.")
   # Construirea și afișarea matricei
   for i in range(1, n + 1):
       row = [min(i, j) for j in range(1, m + 1)]
       print(" ".join(map(str, row)))

else:

   print("Datele de intrare nu corespund restrictiilor impuse.")

</syntaxhighlight>

0207 - GenMat2

Cerința

Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori după cum urmează:

-elementele aflate pe diagonala principală a matricei vor primi valoarea 0
-elementele de pe prima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n
-elementele de pe a doua coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n-1
-elementele de pe ultima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea 1

Date de intrare

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

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse".

Restricții și precizări

  • 2≤n≤24

Exemplu 1

Intrare
4
Ieșire
Datele introduse corespund restricțiilor impuse.
0 3 2 1
4 0 2 1
4 3 0 1
4 3 2 0


Exemplu 2

Intrare
-3
Ieșire
Datele de intrare nu corespund restricțiilor impuse.


Rezolvare

<syntaxhighlight lang="python" line="1">

  1. 0207-GenMat2
  2. Citirea numărului n de la tastatură

n = int(input())

  1. Verificarea restricțiilor impuse

if 2 <= n <= 24:

   print("Datele de intrare corespund restrictiilor impuse.")
   # Construirea matricei conform cerințelor și afișarea ei
   matrice = [[0] * n for _ in range(n)]
   for i in range(n):
       for j in range(n):
           if i == j:
               matrice[i][j] = 0
           else:
               coloana = n - j
               matrice[i][j] = coloana
   # Afișarea matricei pe ecran
   for linie in matrice:
       print(" ".join(map(str, linie)))

else:

   print("Datele de intrare nu corespund restrictiilor impuse.")

</syntaxhighlight>