Đăng nhập để hỏi chi tiết


Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
import math
# a) Nhập danh sách số nguyên
lst = list(map(int, input("Nhập danh sách số nguyên cách nhau bởi dấu cách: ").split()))
# b) Độ dài danh sách
print("Độ dài danh sách:", len(lst))
# c) In từng phần tử trên một dòng
print("Các phần tử:")
for x in lst:
print(x)
# d) Vị trí các số chính phương
def is_perfect_square(n):
return n >= 0 and int(math.isqrt(n))**2 == n
print("Vị trí các số chính phương:")
for i in range(len(lst)):
if is_perfect_square(lst[i]):
print(i, end=' ')
print()
# e) Tổng các giá trị
print("Tổng các phần tử:", sum(lst))
# f) Giá trị max, min
print("Giá trị lớn nhất:", max(lst))
print("Giá trị nhỏ nhất:", min(lst))
# g) Tổng các số lập phương
def is_perfect_cube(n):
c = round(abs(n) ** (1/3))
return c**3 == abs(n)
tong_lap_phuong = sum(x for x in lst if is_perfect_cube(x))
print("Tổng các số lập phương:", tong_lap_phuong)
# h) Kiểm tra xem danh sách có tạo thành cặp cộng (a + b = 0) không
f = False
s = set()
for x in lst:
if -x in s:
f = True
break
s.add(x)
print("Có cặp số cộng:", "Có" if f else "Không")
Mình xin 5 sao và trả lời hay nhất ạ!
Hãy giúp mọi người biết câu trả lời này thế nào?

import math
def cp(n):
return int(math.sqrt(n))**2==n
a=list(map(int,input().split()))
#a)
print(len(a))
#b)
for i in a :
print(i)
#c)
t=0
for i in a :
if(cp(i)):
t+=i
print(t)
#d)
for i in range(len(a)):
if(a[i]%2==0):
print(i,end=" ")
#e)
print()
print(sum(a))
#g)
print(max(a))
print(min(a))
#h)
d=a[1]-a[0]
check=True
for i in range(2,len(a)):
if(a[i]-a[i-1]!=d):
check=False
break
if(check):
print("Có")
else:
print("Không")
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
512
15023
1261
Giải thích thêm cho mình phần cuối được ko ạ
144
2772
105
câu nào vậy bạn?
144
2772
105
Nếu là câu h) thì nếu a + b = 0 => a = -b, mình sử dụng kiểu dữ liệu set để lưu phân biệt các số trong mảng (để khi kiểm tra thì thời gian nhanh hơn tìm kiếm tuần tự mảng), sau đó nếu tồn tại phần tử = -a[i] (hay là x vì lệnh for...in... là tuần tự từng phần tử) nghĩa là tồn tại 2 phần tử có trị tuyệt đối bằng nhau và trái dấu hay a = -b => tồn tại cặp số thỏa mãn yêu cầu Rút gọnNếu là câu h) thì nếu a + b = 0 => a = -b, mình sử dụng kiểu dữ liệu set để lưu phân biệt các số trong mảng (để khi kiểm tra thì thời gian nhanh hơn tìm kiếm tuần tự mảng), sau đó nếu tồn tại phần tử = -a[i] (hay là x vì lệnh for...in... là tuần tự từn... xem thêm