AnhVan1712

Tìm các dãy số tăng dần trong 1 dãy số nhập vào

Mar 19th, 2022
1,281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.97 KB | None | 0 0
  1. '''
  2.    Hàm trả về một list dùng để đánh dấu vị trí của các dãy tăng dần
  3.    Ví dụ a=[5,7,6,3,2,4,6,9,1]
  4.        thì kt=[1,0,0,0,1,1,1,0,0]
  5.    Nhìn vào mảng kt ta sẽ biết được vị trí của các mảng tăng dần.
  6.    Nhìn vào kt thì nếu một phần từ bằng 1 thì có nghĩa là tại vị trí đó, ở mảng a phần tử đó sẽ < phần từ liền kề
  7. '''
  8.  
  9. def cac_mang_tang_dan(a):
  10.     length = len(a)
  11.     kt=[0]*length
  12.     for i in range(length):
  13.         if i==length-1:
  14.             return kt
  15.         else:
  16.             if a[i]<a[i+1]:
  17.                 kt[i]=1
  18.     return kt
  19. '''
  20. Từ việc đánh dấu bằng mảng kt như thế ta sẽ tạo hàm để xuất ra kết quả như yêu cầu của bài
  21. Tư tưởng là kiểm tra liên tiếp 2 phần tử của mảng kt như 2 trường hợp là (kt[i]==1 and kt[i+1]==1) và (kt[i] == 1 and kt[i + 1] == 0)
  22. Từng mảng tăng dần sẽ được lưu vào list element
  23. sau đó ép kiểu thành kiểu string để in ra như yêu cầu đề bài (Phải ép kiểu bởi vì lệnh print('Day tang dan sẽ xuống dòng'))
  24. Sau khi in 1 mảng tăng dần thì ta sẽ tiến hành clear 2 biến element và text để tiếp tục tìm kiếm mảng tăng dần tiếp theo
  25. '''
  26. def xuat_ket_qua(kt):
  27.     element=[]
  28.     text=""
  29.     for i in range(len(kt)-1):
  30.         if kt[i]==1 and kt[i+1]==1:
  31.            element.append(a[i])
  32.         else:
  33.             if kt[i] == 1 and kt[i + 1] == 0:
  34.                 element.append(a[i])
  35.                 element.append(a[i+1])
  36.  
  37.                 for x in element:
  38.                     text=text+str(x)+" "
  39.                 print('Day tang dan :', text)
  40.                 text=" "
  41.                 element.clear()
  42.  
  43. n=int(input('nhap n:'))
  44. a=[]
  45. for i in range (n):
  46.     print('nhap phan tu thu',i,end=':')
  47.     x=int(input())
  48.     a.append(x)
  49.     print(a)
  50. kt=cac_mang_tang_dan(a)
  51. print(kt)
  52. xuat_ket_qua(kt)
Advertisement
Add Comment
Please, Sign In to add comment