Tin học Tìm kiếm nhị phân căn bậc 2

Asiak

Học sinh mới
Thành viên
25 Tháng mười 2022
9
4
6
18
Thanh Hóa
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Viết chương trình khai triển thuật toán tính căn bậc 2 xấp xỉ như sau:
1. Yêu cầu người dùng nhập số n là số cần tính căn bậc 2 (n thuộc kiểu float và n > 0).
2. Yêu cầu người dùng nhập số epsilon là sai số cho phép (kiểu float và lớn hơn 0)
3. Đặt 3 biến như sau
left = 0.0
right = n
middle = (left + right)/2.0
4. Kiểm tra khoảng cách của middle bình phương với n xem đã nhỏ hơn hoặc bằng epsilon chưa, nếu đúng thì chuyển sang bước 7
5. Kiểm tra middle bình phương lớn hơn n:
- Nếu đúng thì thực hiện:
right = middle
middle = (left + right)/2.0
- Nếu sai thì thực hiện:
left = middle
middle = (left + right)/2.0
6. Quay lại bước 4.
7. In ra giá trị của middle

(Lưu ý viết chương trình bằng ngôn ngữ Python)​
 
Last edited:
  • Like
Reactions: The Ris

_. ._ _..

Học sinh
Thành viên
13 Tháng một 2022
42
24
31
17
Thái Bình
Python:
n = float(input("nhap so n >0"))
ep = float(input("nhap sai so >0"))

left = 0.0
right = n
mid = (left + right)/2.0

while abs(mid*mid - n) > ep:
    if mid*mid > n:
        right = mid
        mid = (left + right)/2.0
    else:
        left = mid
        mid = (left + right)/2.0
print(mid)

Code sẽ có lỗi nên bạn chịu khó sửa tí nha
 
  • Like
Reactions: Asiak

Asiak

Học sinh mới
Thành viên
25 Tháng mười 2022
9
4
6
18
Thanh Hóa
Python:
n = float(input("nhap so n >0"))
ep = float(input("nhap sai so >0"))

left = 0.0
right = n
mid = (left + right)/2.0

while abs(mid*mid - n) > ep:
    if mid*mid > n:
        right = mid
        mid = (left + right)/2.0
    else:
        left = mid
        mid = (left + right)/2.0
print(mid)

Code sẽ có lỗi nên bạn chịu khó sửa tí nha
_. ._ _..mình cảm ơn ạ .
 
  • Like
Reactions: _. ._ _..
Top Bottom