Mô tả bài toán
Có n bàn, mỗi bàn 4 ghế (1..4n). Hai trẻ ngồi ghế a,b sẽ cãi nhau nếu gcd(a,b)=1 hoặc a chia b hoặc b chia a. Chọn n ghế (mỗi bàn 1 ghế?) sao cho không có cặp nào cãi nhau. In danh sách ghế.
Ví dụ
n=4 → Output: 14,10,12,8 (các số chẵn từ 2n đến 4n-2).
Thuật toán
Chọn các số chẵn từ 2n đến 4n-2 (bước 2). Các số này > n, đều chẵn nên gcd≥2, và không chia hết nhau vì đều trong khoảng (2n, 4n).
Code C++
#include <bits/stdc++.h>
using namespace std;
void solve(int n) {
for (int i = 2*n; i < 4*n; i += 2)
cout << i << ", ";
}
int main() {
int n = 4;
solve(n);
return 0;
}
Đầu vào / Đầu ra
Input: 4
Output: 8, 10, 12, 14,