Maison  >  Article  >  développement back-end  >  Puzzle de tableau booléen en langage C

Puzzle de tableau booléen en langage C

WBOY
WBOYavant
2023-08-29 15:05:051116parcourir

Puzzle de tableau booléen en langage C

Il s'agit d'un puzzle basé sur un tableau qui vous oblige à changer tous les nombres d'un tableau contenant deux éléments en 0. Un élément du tableau vaut 0 et un autre élément peut ou non valoir 0.

Pour résoudre ce casse-tête, le programme doit trouver l'élément non nul et le changer en 0.

Voici les contraintes nécessaires pour résoudre le puzzle du tableau booléen

  • L'opération autorisée est le complément, les autres opérations ne sont pas autorisées.
  • Les boucles et les instructions conditionnelles ne sont pas autorisées.
  • L'affectation directe n'est pas non plus autorisée.

Programme pour résoudre le casse-tête des tableaux booléens

#include <iostream>
using namespace std;
void makeZero(int a[2]) {
   a[ a[1] ] = a[ !a[1] ];
}
int main() {
   int a[] = {1, 0};
   makeZero(a);
   cout<<"arr[0] = "<<a[0]<<endl;
   cout<<"arr[1] = "<<a[1];
   return 0;
}

Sortie

arr[0] = 0
arr[1] = 0
You can use other ways too. Like this one which does not require the negation operation.
a[ a[1] ] = a[ a[0] ]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer