Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Hàm trả về một list dùng để đánh dấu vị trí của các dãy tăng dần
- Ví dụ a=[5,7,6,3,2,4,6,9,1]
- thì kt=[1,0,0,0,1,1,1,0,0]
- Nhìn vào mảng kt ta sẽ biết được vị trí của các mảng tăng dần.
- 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ề
- '''
- def cac_mang_tang_dan(a):
- length = len(a)
- kt=[0]*length
- for i in range(length):
- if i==length-1:
- return kt
- else:
- if a[i]<a[i+1]:
- kt[i]=1
- return kt
- '''
- 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
- 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)
- Từng mảng tăng dần sẽ được lưu vào list element
- 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'))
- 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
- '''
- def xuat_ket_qua(kt):
- element=[]
- text=""
- for i in range(len(kt)-1):
- if kt[i]==1 and kt[i+1]==1:
- element.append(a[i])
- else:
- if kt[i] == 1 and kt[i + 1] == 0:
- element.append(a[i])
- element.append(a[i+1])
- for x in element:
- text=text+str(x)+" "
- print('Day tang dan :', text)
- text=" "
- element.clear()
- n=int(input('nhap n:'))
- a=[]
- for i in range (n):
- print('nhap phan tu thu',i,end=':')
- x=int(input())
- a.append(x)
- print(a)
- kt=cac_mang_tang_dan(a)
- print(kt)
- xuat_ket_qua(kt)
Advertisement
Add Comment
Please, Sign In to add comment