สมมติว่าเรามีตัวเลข n ต้องหาอาร์เรย์ A ขนาด n มีโต๊ะ n โต๊ะ แต่ละโต๊ะ 4 เก้าอี้ เก้าอี้หมายเลข 1 ถึง 4n รู้ว่าเด็กสองคนนั่งเก้าอี้ a และ b (a != b) จะเล่นกันถ้า:
- gcd(a,b) = 1 หรือ
- a หาร b หรือ b หาร a
อย่ให้นั่งให้เด็ก 2 คนเล่นกัน ต้องหาการจับคู่เก้าอี้
เช่น ถ้าอินพุตคือ n = 4 เอาต์พุตจะเป็น [14, 10, 12, 8] (คำตอบอื่นก็ได้)
ขั้นตอนการแก้ปัญหา
for i := (2 * n); i < 4 * n; i = i + 2:
print i
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
void solve(int n) {
for (int i = (2 * n); i < 4 * n; i = i + 2) {
cout << i << ", ";
}
}
int main() {
int n = 4;
solve(n);
}
อินพุต
4
เอาต์พุต
8, 10, 12, 14,