Editorial for C bài 9.B1: Chẵn lẻ chia đôi
Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Lời giải chi tiết
Ý tưởng: Ta sẽ thấy sau khi sắp xếp các số từ 1 đến \(n\) theo đề bài, ta sẽ có \([(n+1)/2]\) số lẻ phía bên trái và \([n/2]\) số chẵn phía bên phải. Nếu k > \([(n+1)/2]\) tức là nó đang là số chẵn thứ \(k-[(n+1)/2]\). Nếu ngược lại tức là nó đang là số lẻ thứ \(k\).
Các bước giải:
- Bước 1: Khai báo và nhập vào hai số nguyên dương \(n, k\).
- Bước 2: Kiểm tra điều kiện \(k\) có lớn hơn \((n+1)/2\) hay không. Nếu có, ta cần trừ \(k\) đi một khoảng bằng \((n+1)/2\) và in ra số chẵn thứ \(k\) mới (là số \(2k\)). Nếu ngược lại, ta in ra số lẻ thứ \(k\) (là số \(2k-1\)).
Đăng ký khóa học: https://www.facebook.com/clblaptrinhfullhouse
SĐT liên hệ: 0372229686
Youtube: CLB Lập Trình Full House
Fullhouse dev đồng hành trên từng dòng code
Comments