Advertisement
kxcoze

satie_lab10

Sep 26th, 2022
826
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. import random
  2. import numpy as np
  3.  
  4. def build_array(n, m):
  5.     x = [random.randint(1, n-m+1)]
  6.     n_ = n
  7.     for i in range(1, m-1):
  8.         n_ -= x[i-1]
  9.         x.append(random.randint(1, n_-m+i+1))
  10.     x.append(n-sum(x))
  11.     return x
  12.  
  13.  
  14. def solve():
  15.     n, m = map(int, input('Введите n и m: ').split())
  16.     if m > n:
  17.         raise ValueError('n cannot be less than m!')
  18.         return
  19.     a = [random.randint(1, 9) for _ in range(n)]
  20.     b = build_array(n, m)
  21.     print('Массив Z(n):', a)
  22.     res = []
  23.     l, r = 0, 0
  24.     for i in range(m):
  25.         l, r = r, r+b[i]
  26.         res.append(a[l:r])
  27.         res[i].extend((max(b)-b[i])*[0])
  28.     print('Матрица A:')
  29.     print(np.array(res))
  30.  
  31.  
  32. if __name__ == '__main__':
  33.     solve()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement