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.
#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!
cần 6 bước để tìm thấy số 10 trong danh sách vừa sắp sếp
Sắp xếp: Ấn Độ, Campuchia, Lào, Malaysia, Myanmar, Nga, Nhật Bản, Singapore, Thái Lan, Trung Quốc, Việt Nam
Xét vị trí đầu tiên: Ấn Độ
Lần lặp 1: "Ấn Độ" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 2.
Lần lặp 2: Xét vị trí tiếp theo: Campuchia
"Campuchia" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 3.
Lần lặp 3: Xét vị trí tiếp theo: Lào
"Lào" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 4.
Lần lặp 4: Xét vị trí tiếp theo: Malaysia
"Malaysia" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 5.
Lần lặp 5: Xét vị trí tiếp theo: Myanmar
"Myanmar" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 6.
Lần lặp 6: Xét vị trí tiếp theo: Nga
"Nga" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 7.
Lần lặp 7: Xét vị trí tiếp theo: Nhật Bản
"Nhật Bản" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 8.
Lần lặp 8: Xét vị trí tiếp theo: Singapore
"Singapore" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 9.
Lần lặp 9: Xét vị trí tiếp theo: Thái Lan
"Thái Lan" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 10.
Lần lặp 10: Xét vị trí tiếp theo: Trung Quốc
"Trung Quốc" \(\ne\) "Việt Nam" nên chuyển sang lần lặp 11.
Lần lặp 11: Xét vị trí tiếp theo: Việt Nam
"Việt Nam" = "Việt Nam" nên thông báo tìm thấy Việt Nam ở lần lặp thứ 11 và kết thúc thuật toán