Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ หาผู้ชนะเกมข้ามไม้กางเขน

สมมติว่าเรามีตัวเลขสองตัว n และ k อมลและบิมลเล่นเกม กฎง่ายๆ อมลวาดไม้กางเขน n แทงเรียงกัน หลังจากนั้นผู้เล่นสลับกันขีดตัดไม้กางเขน k แทงจากซ้ายหรือขวาในแต่ละตา อมลเริ่มก่อน หากมีไม้กางเขนน้อยกว่า k แทงก่อนตาบางตา เกมจบ อมลชนะถ้าเขาทำตาได้มากกว่าบิมลอย่างเคร่งครัด เราต้องหาว่าใครจะชนะ

เช่น ถ้าค่าที่ป้อนเข้าเป็น n = 10; k = 4 ผลลัพธ์จะได้ Bimal เพราะอมลขีด 4 แทง แล้วบิมลขีด 4 แทง เหลือแค่ 2 แทง อมลเล่นไม่ได้ ทั้งคู่ทำตาเท่ากัน อมลจึงไม่ชนะ

ขั้นตอนการแก้ปัญหา

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:

ถ้า floor ของ (n / k) เป็นเลขคู่ แล้ว:    คืนค่า "Amal" คืนค่า "Bimal"

ตัวอย่างโค้ด

ดูการนำไปใช้จริงด้านล่างเพื่อความเข้าใจที่ดียิ่งขึ้น:

#include <bits/stdc++.h> using namespace std; string solve(int n, int k) {    if ((n / k) % 2 != 0) {       return "Amal";    }    return "Bimal"; } int main() {    int n = 10;    int k = 4;    cout << solve(n, k) << endl; }

ข้อมูลนำเข้า

10, 4

ข้อมูลส่งออก

Bimal