C言語のブール配列パズル

WBOY
リリース: 2023-08-29 15:05:05
転載
1154 人が閲覧しました

C言語のブール配列パズル

これは、2 つの要素を含む配列内のすべての数値を 0 に変更する必要がある配列ベースのパズルです。配列の 1 つの要素は 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] ]
ログイン後にコピー

以上がC言語のブール配列パズルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート