Dãy thao tác sau nằm trong thuật toán giải bài toán nào: Nếu ai> ai+1 thì tráo đồi ai và ai+1 cho nhau: A. Sắp xếp dãy số B. Tìm kiếm C. Kiểm tra tính nguyên tố D. Tìm số lớn nhất =>chọn đáp án đúng và giải thích giúp mình

2 câu trả lời

A cho tớ xin câu trả lời hay nhất nhé bn

Đề bài

Cho N và dãy số a1... aN, hãy sắp xếp dãy số đó thành dãy số không tăng (số hạng trước lớn hơn hay bằng số hạng sau).

Lời giải chi tiết

• Xác định bài toán

-  Input: Dãy A gồm N số nguyên a1, a2..., aN.

-  Output: Dãy A được sắp xếp lại thành dãy không tăng:

• Ý tưởng:  Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước nhỏ hơn số sau ta đổi chỗ chúng cho nhau. Việc đó được lặp lại, cho đến khi không có sự đổi chỗ nào xảy ra nữa.

• Thuật toán theo cách liệt kê:

Bước 1. Nhập N, các số hạng a, a2, .., aN;

Bước 2: M  

Bước 3: Nếu M < 2 thì đưa ra dãy A đã được sắp xếp rồi kết thúc;

Bước 4: M

Bước 5: i

Bước 6: Nếu i > M thì quay lại bước 3

Bước 7: Nếu ai < ai+1 thì tráo đổi  ai và ai+1 cho nhau

Bước 8: Quay lại bước 5

=> if a[i] > a[i + 1] thì tráo đổi a[i] và a[i + 1] 

=> nếu phần tử đứng trước lớn hơn phần tử đứng sau thì tráo đổi giá trị hai biến 

=> vd : a[3] = 9; a[4] = 2

=> a[3] > a[4] => tráo đổi giá trị hai biến 

=> a[3] = 2; a[4] = 9

=> Thuật toán sắp xếp dãy theo thứ tự không giảm (dãy tăng)

=> Đáp án : A. Sắp xếp dãy số

Câu hỏi trong lớp Xem thêm