1750 - Progresie 1: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerința == Se consideră o progresie aritmetică cu primul termen a1 și rația r, precum și un număr n. Să se construiască și apoi să se afișeze o matrice pătratică cu n linii și n coloane care să conțină termenii acestei progresii astfel: *prima coloană va conține primii n termeni, în ordine, de sus în jos *a doua coloană va conține următorii n termeni, în ordine, de sus în jos *etc. == Date de intrare == Programul citește de la tastatură numerel...
 
 
Line 22: Line 22:
== Exemplu 2 ==
== Exemplu 2 ==
; Intrare
; Intrare
: 0
: 0
: 0
: 0
; Ieșire
; Ieșire
: Nu au fost respectate cerintele impuse
: Nu au fost respectate cerintele impuse
<br>
<br>
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>

Latest revision as of 16:23, 13 December 2023

Cerința[edit | edit source]

Se consideră o progresie aritmetică cu primul termen a1 și rația r, precum și un număr n. Să se construiască și apoi să se afișeze o matrice pătratică cu n linii și n coloane care să conțină termenii acestei progresii astfel:

  • prima coloană va conține primii n termeni, în ordine, de sus în jos
  • a doua coloană va conține următorii n termeni, în ordine, de sus în jos
  • etc.

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele a1, r, n.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran elementele matricei, câte o linie a matricei pe o linei a ecranului, elementele de pe fiecare linie fiind separate prin câte un spațiu.

Restricții și precizări[edit | edit source]

  • 1 ⩽ n ⩽ 200
  • elementele matricei vor fi numere întregi ce pot fi reprezentate pe 4 octeți cu semn.

Exemplu 1[edit | edit source]

Intrare
-7 3 4
Ieșire
-7 5 17 29
-4 8 20 32
-1 11 23 35
2 14 26 38


Exemplu 2[edit | edit source]

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


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 1750 = Progresie 1

def is_valid_input(a1, r, n):

   return 1 <= n <= 200 and isinstance(a1, int) and isinstance(r, int)

def build_matrix(a1, r, n):

   matrix = [[0] * n for _ in range(n)]
   for j in range(n):
       for i in range(n):
           matrix[i][j] = a1 + i * r + j * r * n
   return matrix

def print_matrix(matrix):

   for row in matrix:
       print(" ".join(map(str, row)))

if __name__ == "__main__":

   a1 = int(input("Introduceți primul termen a1: "))
   r = int(input("Introduceți rația r: "))
   n = int(input("Introduceți numărul n: "))
   if is_valid_input(a1, r, n):
       result_matrix = build_matrix(a1, r, n)
       print_matrix(result_matrix)
   else:
       print("Nu au fost respectate cerintele impuse.")

</syntaxhighlight>