สมมติว่าเรามีตัวเลข 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 initialize i := (2 * n), when i < 4 * n, update i = i + 2, do: 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,