Heim  >  Artikel  >  Backend-Entwicklung  >  Boolesches Array-Puzzle in C-Sprache

Boolesches Array-Puzzle in C-Sprache

WBOY
WBOYnach vorne
2023-08-29 15:05:051156Durchsuche

Boolesches Array-Puzzle in C-Sprache

Dies ist ein Array-basiertes Rätsel, bei dem Sie alle Zahlen in einem Array mit zwei Elementen auf 0 ändern müssen. Ein Element des Arrays ist 0, und ein anderes Element kann 0 sein oder auch nicht.

Um dieses Rätsel zu lösen, muss das Programm das Nicht-Null-Element finden und es in 0 ändern.

Die folgenden Einschränkungen sind zum Lösen des Booleschen Array-Rätsels erforderlich:

  • Die zulässige Operation ist das Komplement, andere Operationen sind nicht zulässig.
  • Schleifen und bedingte Anweisungen sind nicht zulässig.
  • Eine direkte Zuordnung ist ebenfalls nicht zulässig.

Programm zum Lösen des Booleschen Array-Rätsels

#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;
}

Ausgabe

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] ]

Das obige ist der detaillierte Inhalt vonBoolesches Array-Puzzle in C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen