K
Khách

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.

20 tháng 9 2023

Bước 1. Số lớn nhất trong dãy số (70) cần được chuyển về vị trí thứ nhất trong dãy, do đó đổi chỗ 70 với 11. Sau bước này, vì 94 đã ở đúng vị trí mong muốn nên tiếp theo chỉ cần quan tâm đến dãy số còn lại: 11,18, 39, 63, 52, 41, 5.

Bước 2. Số lớn nhất trong dãy số còn lại (63) cần được chuyển về đầu dãy này, do đó đổi chỗ 63 với 11. Sau bước này có thêm số 63 đã ở đúng vị trí mong muốn, dãy số còn lại chưa được sắp xếp là 18, 39, 11, 52, 41, 5.

Tiếp tục lặp lại việc “Chọn lấy số lớn nhất trong dãy số còn lại và đổi chỗ nó với số đứng đầu dãy này” cho đến khi hết dãy ban đầu.

Dãy (a)

a1

a2

a3

a4

a5

a6

a7

a8

Giải thích

Ban đầu

11

70

18

39

63

52

41

5

Tiếp theo đổi chỗ 70 và a1

Sau bước 1

70

11

18

39

63

52

41

5

Tiếp theo đổi chỗ 63 và a2

Sau bước 2

70

63

18

39

11

52

41

5

Tiếp theo đổi chỗ 52 và a3

Sau bước 3

70

63

52

39

11

18

41

5

Tiếp theo đổi chỗ 41 và a4

Sau bước 4

70

63

52

41

11

18

39

5

Tiếp theo đổi chỗ 39 và a5

Sau bước 5

70

63

52

41

39

18

11

5

Tiếp theo không đổi chỗ

Sau bước 6

70

63

52

41

39

18

11

5

Tiếp theo không đổi chỗ

Sau bước 7

70

63

52

41

39

18

11

5

Tiếp theo không đổi chỗ

Dãy kết quả

70

63

52

41

39

18

11

5

 

QT
Quoc Tran Anh Le
Giáo viên
20 tháng 9 2023

Bước 1. Số lớn nhất trong dãy số (70) cần được chuyển về vị trí thứ nhất trong dãy, do đó đổi chỗ 70 với 11. Sau bước này, vì 94 đã ở đúng vị trí mong muốn nên tiếp theo chỉ cần quan tâm đến dãy số còn lại: 11,18, 39, 63, 52, 41, 5.

Bước 2. Số lớn nhất trong dãy số còn lại (63) cần được chuyển về đầu dãy này, do đó đổi chỗ 63 với 11. Sau bước này có thêm số 63 đã ở đúng vị trí mong muốn, dãy số còn lại chưa được sắp xếp là 18, 39, 11, 52, 41, 5.

Tiếp tục lặp lại việc “Chọn lấy số lớn nhất trong dãy số còn lại và đổi chỗ nó với số đứng đầu dãy này” cho đến khi hết dãy ban đầu.

Dãy (a)

a1

a2

a3

a4

a5

a6

a7

a8

Giải thích

Ban đầu

11

70

18

39

63

52

41

5

Tiếp theo đổi chỗ 70 và a1

Sau bước 1

70

11

18

39

63

52

41

5

Tiếp theo đổi chỗ 63 và a2

Sau bước 2

70

63

18

39

11

52

41

5

Tiếp theo đổi chỗ 52 và a3

Sau bước 3

70

63

52

39

11

18

41

5

Tiếp theo đổi chỗ 41 và a4

Sau bước 4

70

63

52

41

11

18

39

5

Tiếp theo đổi chỗ 39 và a5

Sau bước 5

70

63

52

41

39

18

11

5

Tiếp theo không đổi chỗ

Sau bước 6

70

63

52

41

39

18

11

5

Tiếp theo không đổi chỗ

Sau bước 7

70

63

52

41

39

18

11

5

Tiếp theo không đổi chỗ

Dãy kết quả

70

63

52

41

39

18

11

5

 

13 tháng 12 2023

#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!