Bài 29
Đề bài: Toi uu hoa bài toán: Tu tam bia carton vuong canh a,
cat 4 góc hình vuông canh x de gap thanh hop không nap.
Tìm x de thể tích hop lớn nhat.
V(x) = x * (a - 2x)^2, V'(x) = 0 => x = a/6.
Ví dụ: a = 12
Kết quả:
V(x) = x*(12 - 2x)^2
V'(x) = (12-2x)^2 + x*2*(12-2x)*(-2) = (12-2x)(12-6x)
V'(x) = 0 => x = 6 (loại vi >= a/2) hoặc x = 2
x = 2 => V_max = 2 * 8^2 = 128
Đăng nhập để giáo viên có thể giao bài và nhận bài nộp của bạn.
Câu trả lời
a = float(input("Canh tam bia a: "))
def V(x):
if x <= 0 or x >= a/2:
return 0
return x * (a - 2*x)**2
# Tim x toi uu bang cach tinh V tai nhieu diem
so_diem = 1000
x_opt = 0
v_max = 0
for i in range(1, so_diem):
x = (i / so_diem) * (a / 2)
v = V(x)
if v > v_max:
v_max = v
x_opt = x
# Gia tri chinh xac: x = a/6
x_ly_thuyet = a / 6
v_lt = V(x_ly_thuyet)
print(f"\nKet qua bang so: x ≈ {round(x_opt,4)}, V_max ≈ {round(v_max,4)}")
print(f"Ly thuyet: x = a/6 = {round(x_ly_thuyet,4)}, V_max = {round(v_lt,4)}")
print(f"Kich thuoc hop: {round(x_ly_thuyet,4)} x {round(a-2*x_ly_thuyet,4)} x {round(a-2*x_ly_thuyet,4)}")
# In bang gia tri V(x)
print(f"\nBang gia tri V(x) quanh x_opt:")
for x in [a/8, a/7, a/6, a/5, a/4]:
print(f" x = {round(x,4):>6}: V = {round(V(x),4):>10}")