Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C의 부울 배열 퍼즐?


이 퍼즐은 배열의 모든 숫자를 0으로 변경해야 하는 배열 기반 퍼즐입니다. 배열의 요소 중 하나는 0이고 다른 요소는 0일 수도 있고 아닐 수도 있습니다.

이 퍼즐을 풀기 위해 프로그램은 0이 아닌 요소를 찾아 0으로 변경해야 합니다.

부울 배열 퍼즐을 푸는 데 필요한 다음과 같은 제약 조건이 있습니다. -

  • 허용된 작업은 보완이며 다른 작업은 허용되지 않습니다.
  • 루프 및 조건문은 허용되지 않습니다.
  • 직접 할당도 허용되지 않습니다.

부울 배열 퍼즐을 푸는 프로그램

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

출력

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