Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

Thuật toán tìm kiếm nhị phân được thực hiện trên một danh sách đã được (1) sắp xếp. Bắt đầu từ vị trí ở (2) giữa của danh sách. Tại mỗi bước, ta so sánh giá trị cần tìm với giá trị ở vị trí đó. Nếu giá trị cần tìm lớn hơn, ta tìm ở (3) nửa phải của danh sách. Nếu nhỏ hơn, ta tìm ở (4) nửa trái của danh sách.

Cách làm theo tìm kiếm nhị phân:
- Xác định khoảng cần tìm: từ 1001 đến 1500.
- Tìm số ở giữa: \(\frac{1001 + 1500}{2} = 1250 , 5 \approx 1250\).
- So sánh 1320 với 1250. Vì 1320 > 1250, ta bỏ nửa trái (1001 → 1250), chỉ giữ nửa phải (1251 → 1500).
- Lấy số giữa của khoảng mới: \(\frac{1251 + 1500}{2} = 1375 , 5 \approx 1375\).
- So sánh 1320 với 1375. Vì 1320 < 1375, ta bỏ nửa phải (1375 → 1500), chỉ giữ nửa trái (1251 → 1374).
- Lấy số giữa của khoảng mới: \(\frac{1251 + 1374}{2} = 1312 , 5 \approx 1312\).
- So sánh 1320 với 1312. Vì 1320 > 1312, ta bỏ nửa trái, giữ nửa phải (1313 → 1374).
- Lấy số giữa: \(\frac{1313 + 1374}{2} = 1343 , 5 \approx 1343\).
- So sánh 1320 với 1343. Vì 1320 < 1343, ta giữ nửa trái (1313 → 1342).
- Lấy số giữa: \(\frac{1313 + 1342}{2} = 1327 , 5 \approx 1327\).
- So sánh 1320 với 1327. Vì 1320 < 1327, ta giữ nửa trái (1313 → 1326).
- Lấy số giữa: \(\frac{1313 + 1326}{2} = 1319 , 5 \approx 1319\).
- So sánh 1320 với 1319. Vì 1320 > 1319, ta giữ nửa phải (1320 → 1326).
- Lấy số giữa: \(\frac{1320 + 1326}{2} = 1323\).
- So sánh 1320 với 1323. Vì 1320 < 1323, ta giữ nửa trái (1320 → 1322).
- Lấy số giữa: \(\frac{1320 + 1322}{2} = 1321\).
- So sánh 1320 với 1321. Vì 1320 < 1321, ta giữ nửa trái (1320 → 1320).
- Còn lại đúng một số 1320 → tìm thấy chiếc điện thoại cần mua. ✅

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll a[]={10,2,5,12,20,6,8,15,18}; //mảng đã cho
ll n=sizeof(a)/sizeof(a[0]); //độ dài mảng
sort(a,a+n); //sắp xếp mảng
//Thuật toán tìm kiếm nhị phân
ll l=0, r=n-1;
while(l<=r) {
ll mid=(l+r)/2; //Tìm phần tử giữa left và right
if(a[mid]<15) l=mid+1; //Vì từ đoạn [0,mid] thì phần tử nhỏ hơn 15 nên ta duyệt từ khoảng (mid,r]
else r=mid-1; //vì thấy nên rút r để thu hẹp phạm vi
}
cout << l+1; //in ra kq (vì bắt đầu từ 0 đến n-1 nên phải tăng thêm để ra vị trí đúng)
}
(Bạn có thể dựa vào code mình để rút ra các bước)
Chúc bạn học tốt!

Quy trình xử lí rác thải sinh hoạt nơi em sinh sống
Bao gồm bốn quy trình:
*Quy trình 1:
-Phân loại chất thải rắn hay các loại chất thải khác.
*Quy trình 2:
-Tiến hành thu gom tận nơi.
*Quy trình 3:
-Vận chuyển chất thải đến điểm tập trung để rửa sạch hoặc ép cục.
*Quy trình 4:
-Xử lý chất thải, tái chế rác thải sinh hoạt.Tuy ko bt mk làm đúng ko nhưng bạn cứ tham khảo nhé, bạn có thể thay dấu sao và dấu gạch đầu đầu dòng của mình bằng bất cứ dấu nào bạn thích nhé!Chúc thi tốt:>
Bước 1. Sắp xếp dãy theo thứ tự không giảm.
Bước 2. Ta chia đôi dãy số để tìm x trong dãy.
Bước 3. Lấy phần tử đứng giữa dãy để so sánh với x.
Nếu phần tử đó chính là x thì kết luận đã tìm thấy x và kết thúc thuật toán.
Ngược lại, ta có thể xác định được x chắc chắn không có trong nửa đầu hay nửa sau của dãy. Từ đó ta xác định được phạm vi tìm kiếm và thực hiện tìm kiếm trong phạm vi nữa dãy còn lại, sẽ được lặp lại theo cách như thế cho đến khi tìm được kết quả.