TN

Câu 1. Xét thuật toán tìm kiếm tuần tự sau: B1. Nhập N, các số hạng a1, a2, , an và khóa k; B2. i ⃪ 1; B3. Nếu ai = k thì thông báo chỉ số i rồi kết thúc; B4. i ⃪ i + 1; B5. Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc; B6. Quay lại bước 3 Hãy cho biết thao tác ở bước 4 trong thuật toán trên được thực hiện tối đa bao nhiêu lần?

giúp e vs ạ

 

NT
19 tháng 12 2021 lúc 23:51

 

 

#include <bits/stdc++.h>
using namespace std;
const long long maxn=1e5+10;
long long a[maxn],i,n,x,l,r,m;
//chuongtrinhcon
long long tknp(long long a[],long long l,long long r,long long x)
{
    while (l<=r)
    {
        long long g=(l+r)/2;
        if (a[g]==x) return(g);
        if (x>a[g]) l=g+1;
        else r=g-1;
    }
    return(-1);
}
int main()
{
    freopen("tknp.inp","r",stdin);
    freopen("tknp.out","w",stdout);
    cin>>n>>x;
    for (i=1; i<=n; i++)
        cin>>a[i];
    cout<<tknp(a,1,n,x);
    return 0;
}

 

Bình luận (0)

Các câu hỏi tương tự
LB
Xem chi tiết
NC
Xem chi tiết
ND
Xem chi tiết
H24
Xem chi tiết
NH
Xem chi tiết
DH
Xem chi tiết
NA
Xem chi tiết
H24
Xem chi tiết
NH
Xem chi tiết