สมมติว่าเรามีตัวเลข n ในเกม เริ่มต้นค่า n คือ v ผู้เล่นสามารถทำการดังนี้ศูนย์หรือหลายครั้ง: เลือกจำนวนเต็มบวก x ที่ x < n และ x ไม่ใช่ตัวหารของ n แล้วลบ x จาก n เป้าหมายคือลดค่า n ให้น้อยที่สุดสุดท้าย
เช่น ถ้าอินพุตคือ n = 8 เอาต์พุตจะเป็น 1 เพราะเลือก x = 3 ได้ n = 5 แล้วเลือก x = 4 ได้ n = 1
ขั้นตอนการแก้ปัญหา
if n == 2:
return 2
return 1
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
int solve(int n) {
if (n == 2) {
return 2;
}
return 1;
}
int main() {
int n = 8;
cout << solve(n) << endl;
}
อินพุต
8
เอาต์พุต
1