nhập dãy gồm n phần tử:
1. đưa ra màn hình phần tử lớn thứ 2, nhỏ thứ 2
2. đưa ra các cặp số nguyên tố hơn kém nhau 2 đơn vị
3. kiểm tra dãy có là cấp số cộng hoặc cấp số nhân hay không
4. tìm ƯCLN / BCNN của dãy
giúp mình viết chương trình python giải bài này với ạ mình cần gấp!!! xin cảm ơn
Tham khảo câu trả lời từ Trợ lý ảo Lazi Đây là một số đoạn code Python giúp bạn giải quyết các yêu cầu trên: ```python import math # Nhập dãy gồm n phần tử n = int(input("Nhập số phần tử của dãy: ")) arr = [] for i in range(n): arr.append(int(input("Nhập phần tử thứ {}: ".format(i+1))) # 1. Đưa ra màn hình phần tử lớn thứ 2, nhỏ thứ 2 sorted_arr = sorted(arr) print("Phần tử lớn thứ 2: ", sorted_arr[-2]) print("Phần tử nhỏ thứ 2: ", sorted_arr[1]) # 2. Đưa ra các cặp số nguyên tố hơn kém nhau 2 đơn vị def is_prime(num): if num < 2: return False for i in range(2, int(math.sqrt(num)) + 1): if num % i == 0: return False return True for i in range(len(arr)-1): if is_prime(arr[i]) and is_prime(arr[i+1]) and abs(arr[i] - arr[i+1]) == 2: print("Cặp số nguyên tố hơn kém nhau 2 đơn vị: ", arr[i], arr[i+1]) # 3. Kiểm tra dãy có là cấp số cộng hoặc cấp số nhân hay không is_ap = True is_gp = True diff = arr[1] - arr[0] ratio = arr[1] / arr[0] for i in range(2, len(arr)): if arr[i] - arr[i-1] != diff: is_ap = False if arr[i] / arr[i-1] != ratio: is_gp = False if is_ap: print("Dãy là cấp số cộng") elif is_gp: print("Dãy là cấp số nhân") else: print("Dãy không phải là cấp số cộng hoặc cấp số nhân") # 4. Tìm ƯCLN / BCNN của dãy def gcd(a, b): while b: a, b = b, a % b return a def lcm(a, b): return a * b // gcd(a, b) uc = arr[0] bc = arr[0] for i in range(1, len(arr)): uc = gcd(uc, arr[i]) bc = lcm(bc, arr[i]) print("ƯCLN của dãy: ", uc) print("BCNN của dãy: ", bc) ``` Bạn có thể thử chạy đoạn code trên và nhập dãy số của mình để kiểm tra kết quả. Chúc bạn thành công!