Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Permainan Nim diubah suai dalam C?

Permainan Nim diubah suai dalam C?

PHPz
PHPzke hadapan
2023-09-01 14:57:07707semak imbas

Permainan Nim diubah suai dalam C?

Permainan diubah suai Nim ialah permainan pengoptimuman tatasusunan. Permainan ini meramalkan pemenang berdasarkan pemain permulaan dan pergerakan optimum.

Logik Permainan − Dalam permainan ini, kami diberikan tatasusunan{}, yang mengandungi elemen. Secara umumnya terdapat dua pemain yang bermain permainan iaitu pemain1 dan pemain2. Matlamat kedua-duanya adalah untuk memastikan bahawa semua nombor mereka dialih keluar daripada tatasusunan. Sekarang, pemain1 perlu mengalih keluar semua nombor yang boleh dibahagi dengan 3 dan pemain2 perlu mengeluarkan semua nombor yang boleh dibahagi dengan 5. Tujuannya adalah untuk memastikan bahawa mereka mengeluarkan semua elemen secara optimum dan mencari pemenang dalam kes ini.# . unsur-unsur yang boleh dialih keluar oleh kedua-duanya. Berdasarkan bilangan unsur yang mereka berdua boleh mengeluarkan penyelesaian didapati. Apabila A mengalih keluar elemen pertama, ia boleh menang walaupun dia perlu mengalih keluar satu elemen lebih daripada B. Dalam kes biasa, pemain dengan bilangan maksimum elemen untuk dialih keluar menang.

PROGRAM MENCARI PENYELESAIAN UNTUK GAME OF NIM

Array : {1,5, 75,2,65,7,25,6}
Winner : playerB.
A removes 75 -> B removes 5 -> A removes 6 -> B removes 65 -> No moves for A, B wins.

输出

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {1,5, 75,2,65,7,25,6};
   int n = sizeof(arr) / sizeof(arr[0]);
   int movesA = 0, movesB = 0, movesBoth = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 3 == 0 && arr[i] % 5 == 0)
         movesBoth++;
      else if (arr[i] % 3 == 0)
         movesA++;
      else if (arr[i] % 5 == 0)
         movesB++;
   }
   if (movesBoth == 0) {
      if (movesA > movesB)
         cout<<"Player 1 is the Winner";
      cout<<"Player 2 is the Winner";
   }
   if (movesA + 1 > movesB)
      cout<<"Player 1 is the Winner";
   cout<<"Player 2 is the Winner"; ;
   return 0;
}

Atas ialah kandungan terperinci Permainan Nim diubah suai dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam