タグ付けされた質問 「logic-gates」

コーディング言語としてロジックゲートを使用するか、ロジックゲートを出力することを含む課題。

15
論理ゲートを手動で
基本的な論理ゲートをシミュレートするプログラムを作成します。 入力:スペースなどで区切られた、2つの1桁の2進数が続く、すべて大文字の単語OR 1 0。門OR、AND、NOR、NAND、XOR、およびXNOR必要とされています。 出力:入力された論理ゲートの出力には、1または0の2つの数値が与えられます。 例: AND 1 0なります0 XOR 0 1なり1 OR 1 1ます1 NAND 1 1なります0 これはcodegolfなので、最短のコードが優先されます。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

30
プライムパワーからプライムを回復する
定義:素数はp nの形式で表現できる自然数です。pは素数で、nは自然数です。 タスク:プライムパワーp n > 1の場合、プライムpを返します。 テストケース: input output 9 3 16 2 343 7 2687 2687 59049 3 得点:これはcode-golfです。バイト単位の最短回答が優先されます。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

9
真理値表:great祖父のコンピューター
学校時代に戻ったことを思い出すと、真理値表について学んだことを覚えているかもしれません。彼らは退屈そうに見えたが、彼らは論理の基盤であり、(一部の人は主張する)すべてのコンピューティング... 問題 あなたの使命は、あなたがそれを受け入れることを選択した場合、入力が与えられた真理値表を出力できるコードのプログラム、関数、またはウィジェットを書くことです。 入力 入力は、真理値表を作成する論理ステートメントを含む文字列(データ構造など)になります。例えば: p ∧ q これはp and q(論理結合)を意味し、以下を出力します: p q p ∧ q T T T T F F F T F F F F 間隔に注意してください:列のアイテムはヘッダーの中央にあります キャラクター バイトではなく文字でスコアを付ける 論理比較文字は特別であり、常に見た目が同じではありません。次の文字を使用します。 論理積(AND):∧U + 2227 論理和(OR):∨U + 2228 論理否定(NOT)~またはそれぞれ¬U + 7eおよびU + ac ボーナス これらのボーナスはすべてオプションですが、スコアからポイントを奪います。どれか選んでください。 論理否定 論理否定は、真理値表の単項演算子です。!ほとんどのCベースの言語と同等です。それは可能false=> trueと万力その逆。¬ またはで 表記され~ます(両方をサポートする必要があります)。これをサポートすると、スコアの10%がノックオフされます。ただし、結果を表示するには追加の列を追加する必要があります。例: …

2
Kippleを解釈してください!
前書き Kippleは、2003年3月にRune Bergによって発明されたスタックベースの難解なプログラミング言語です。 Kippleには、27のスタック、4つの演算子、および制御構造があります。 スタック スタックは命名されているa- zと32ビット符号付き整数を含んでいます。また@、数値の出力をより便利にするための特別なスタックがあります。数字がにプッシュされる@と、その数字の数字のASCII値が実際にプッシュされます。(たとえば、12を@に押した場合、49を押し、次に50を押し@ます。) iプログラムが実行される前に、入力が入力スタックにプッシュされます。インタープリターは、i実行前に保存する値を要求します。実行が終了すると、出力スタック上のすべてoがポップされ、ASCII文字として出力されます。これはKippleの唯一のIOメカニズムであるため、Kippleプログラムとの対話は不可能です。 オペレーター オペランドは、スタック識別子または符号付き32ビット整数のいずれかです。 プッシュ:>または< 構文:Operand>StackIndentifierまたはStackIndentifier<Operand Push演算子は、オペランドを左に取り、指定されたスタックにプッシュします。たとえば12>a、値12をstackにプッシュしますa。a>bstackから一番上の値をポップし、stack aにプッシュしますb。空のスタックをポップすると常に0 a<bが返されb>aます。これはと同等です。a<b>c最上位から値ポップbの両方にとプッシュをcしてa。 追加: + 構文: StackIndentifier+Operand 追加演算子は、スタックの一番上の項目とオペランドの合計をスタックにプッシュします。オペランドがスタックの場合、値はそこからポップされます。たとえば、スタックの最上位の値aが1の場合、a+23をプッシュします。aが空の場合、a+22をプッシュします。スタックの一番上の値場合aとbがある1と2は、a+bスタックから値2をポップアップ表示されますbし、スタックに3を押しますa。 減算: - 構文: StackIndentifier-Operand Subtract演算子は、Add演算子とまったく同じように機能しますが、加算ではなく減算する点が異なります。 晴れ: ? 構文: StackIndentifier? Clear演算子は、最上位のアイテムが0の場合、スタックを空にします。 インタープリターは演算子の隣にないものをすべて無視するため、次のプログラムが機能しますa+2 this will be ignored c<i。ただし、コメントを追加する適切な方法は、#文字を使用することです。a #と行末文字の間のすべてのものは、実行前に削除されます。ASCII文字#10は、Kippleの行末として定義されています。 オペランドは2つの演算子で共有a>b c>b c?できますa>b<c?。たとえば、と書くことができます。 プログラム1>a<2 a+aはa、値を[1 4](下から上へ)含むようになり、ではありません[1 3]。-オペレーターも同様です。 制御構造 Kippleには、ループという制御構造が1つしかありません。 構文: (StackIndentifier code ) …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

4
NANDゲートを使用して4頂点の接続性テスターを構築する
接続グラフは、任意の2つの頂点間のパスを含むグラフです。 チャレンジ 4頂点グラフが接続されているかどうかを判断する[2入力NANDゲート]回路を構築します。 (ゲートの2つの入力は、同じ入力ビットまたは他のゲートにすることができます。) グラフが接続されている場合はTrue、そうでない場合はFalseを出力します。 入力 4つの頂点を持つ単純なグラフの6つの可能なエッジ: [ 0、E 1、0、E 2、1、E 2、0 E 3、1、E 3、2、E 3 ] ここで、a e bは、頂点aとbの間にエッジがあるかどうかを表します 接続性は、次の条件と同等です。 3つ未満の入力がTrueの場合、Falseを出力します。 3つ以上の入力がTrueの場合、Trueを出力します。 正確に3つの入力がTrueで三角形を形成する場合、Falseを出力します。 それ以外の場合は、Trueを出力します。 最も少ないゲートを使用する答えが勝ちです。ネクタイは 、最低の回路の深さ(入力から出力までの最長パスの長さ)によって切断さ れます。

3
3による可分性のための回路の構築
TCS のブール回路は、基本的にAnd、Or、Notゲートで構成されるDAGであり、「機能的完全性」が知られていることにより、可能なすべての機能を計算できます。例えば、これはALUの基本原則です。 課題:8進数の数字が3で割り切れるかどうかを判断する回路を作成し、何らかの方法で結果を視覚化します(つまり、何らかの画像で) 投票者の判断基準は、回路を生成するコードが任意のサイズの数値にうまく一般化されているかどうか、およびアルゴリズムで作成された視覚化がコンパクト/バランスが取れているがまだ人間が読み取れるかどうかに基づいています(つまり、手作業による視覚化は許可されていません)。すなわち、視覚化はn = 8のみに対して行われますが、コードはすべての「n」に対して理想的に機能します。入賞作品はトップ投票のみです。 やや似た質問:NAND論理ゲートを使用して乗算機を構築する

7
XNORデジタルタイミング図を描く
以下は、XNOR論理ゲートの(概略)デジタルタイミング図です。 ┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐ A ──┘ └─┘ └─┘ └─┘ └─┘ └─┘ └── ┌───┐ ┌───┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ B ┘ └─┘ └─┘ └─┘ └───┘ └─┘ └ ┌─────┐ ┌─┐ ┌─┐ ┌───┐ X ──┘ └───┘ └───┘ └───┘ └──── 目標は、描かれているとおりに正確に再現することです。 ルール: 印刷するか、複数行の文字列を返すことができます。 任意の数の追跡および/または先頭の改行が許可されます。 末尾の(先頭ではない!)空白は許可されます。 拡張ASCIIボックス描画文字を使用できない場合は、Unicodeの同等の文字に置き換えることができます(バイトペナルティなし)。 これはコードゴルフなので、バイト単位の最短回答が優先されます。 バイナリ表現 便宜上、上の図のバイナリ表現は次のとおりです。 INP A=0101011101010110 …

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

2
NAND論理ゲートを使用してビットカウントコンパレーターを構築する
ビットカウントコンパレータ(BCC)は、計数入力のいくつかの数をとる論理回路であり、A1, A2, A3, ..., An入力と同様にB1, B2, B4, B8, ...番号を表します。それ次いで戻る1の総数場合Aである入力番号によりバイナリで表さより大きいB(例えば、入力B1、B2およびB8数になるだろう11)、そして0そうでありません。 例えば、かかるビットカウントコンパレータの5入力を、そのA2、A4、A5、とB2に設定され1、戻ります13つのがあるためAである入力がよりも大きい、2(数のみによって表さB2です)。 あなたの仕事は、2入力NANDゲートのみを使用し、できるだけ少ないNANDゲートを使用して、合計16 A入力と4 B入力(から1までのビットを表す8)を取るビットカウントコンパレータを作成することです。物事を単純化するために、ダイアグラムでAND、OR、NOT、およびXORゲートを使用し、以下の対応するスコアを使用できます。 NOT: 1 AND: 2 OR: 3 XOR: 4 これらの各スコアは、対応するゲートを構築するために必要なNANDゲートの数に対応しています。 正しい構造を生成するために最少のNANDゲートを使用する論理回路が勝ちます。

2
追加用にスーパーオプティマイザーを実装する
タスクは、ビットの合計の小さな論理式を見つけることができるコードを書くことです。 全体的な課題は、コードが可能な限り最小の命題論理式を見つけて、yバイナリ0/1変数の合計が値xと等しいかどうかを確認することです。変数をx1、x2、x3、x4などと呼びましょう。式は合計と等しくなければなりません。つまり、論理式は、合計がxに等しい場合にのみ真になります。 まず、これを行うための単純な方法を紹介します。y = 15、x = 5と言います。5つの変数を選択する3003の異なる方法をすべて選択し、それぞれの変数のANDと残りの変数の否定のANDを使用して新しい句を作成します。最終的に、それぞれ長さが正確に15の3003句になり、合計コストは45054になります。 あなたの答えは、Pythonに貼り付けることができるような論理的な表現でなければなりません、たとえば、私はそれをテストできます。2人が同じサイズの式を取得した場合、最も高速に実行されるコードが優先されます。 ソリューションに新しい変数を導入できます。したがって、この場合、論理式はyバイナリ変数、xおよびいくつかの新しい変数で構成されます。y変数の合計がxと等しい場合にのみ、式全体が満たされます。 最初の演習として、x = 2に追加するy = 5変数で開始したい人がいるかもしれません。単純な方法では、50のコストがかかります。 コードは2つの値yとxを入力として受け取り、式とそのサイズを出力として出力する必要があります。ソリューションのコストは、出力内の変数の生のカウントにすぎません。したがって(a or b) and (!a or c) 、4としてカウントされます。許可される演算子はand、orとのみnotです。 更新少なくとも理論的には、x = 1のときにこの問題を解決する賢い方法があることがわかりました。

2
NANDロジックゲートを使用してEBCDICコンバーターを構築する
でこの質問、マッピングはEBCDICとISO-8859-1のスーパーセットの間で定義されます。 あなたの仕事は、8つの入力を受け取る2入力NANDゲートのネットワークを構築することです A1, A2, A4, ..., A128、EBCDIC文字を表すを受け取りB1, B2, B4, ..., B128、そのマッピングに従って対応する「ISO-8859-1」文字を表す8つの出力を返す。 物事を単純化するために、ダイアグラムでAND、OR、NOT、およびXORゲートを使用できます。対応するスコアは次のとおりです。 NOT: 1 AND: 2 OR: 3 XOR: 4 これらのスコアはそれぞれ、対応するゲートを構成するために必要なNANDゲートの数に対応しています。 上記のすべての要件を正しく実装するために最も少ないNANDゲートを使用する論理回路が優先されます。

8
シンプルな論理ゲート計算機
あなたがそれを受け入れることを選択した場合、あなたの使命は、以下の論理演算子のための単純な真理値評価子を構築することです: ---------------------------------------------------------------------------------- Logical Name | Gate Name | Symbol | Symbol Name | Truth Table ---------------------------------------------------------------------------------- Identity | is | | (none) | 10 Negation | not | ~ | tilde | 01 Conjunction | and | & | ampersand | 1000 Disjunction | or | | | pipe | …

4
NANDロジックゲートを使用して16進数の7セグメントディスプレイを駆動
ユビキタス7セグメント数値表示では、このWikipedia .gifに示すように、16桁の16進数すべてを明確に表示できます。 この課題のエントリは、16進数の4ビットを7つのセグメントの入力に変換するNAND論理ゲートを使用して回路図を作成します。7セグメントディスプレイの入力には、通常次のようにラベルが付けられています。(このチャレンジでは、DP(小数点)は無視されます) したがって、回路は次の真理値表に準拠する必要があります。 Hex | Hex Input Bit | Output to Segment line: digit | 3 2 1 0 | A B C D E F G ------+---------------+----------------------- 0 | 0 0 0 0 | 1 1 1 1 1 1 0 1 | 0 0 0 1 | …

2
論理的なクイン
チャレンジ 独自のソースコードを出力するプログラムを書くだけです。 通常のクインにすぎません。 問題 コンピューターがないので、プログラム可能なロジックデバイス(FPGA、CPLD、ゲートアレイなど)でプログラムを実行する必要があります。 ルール ロジックデバイスに接続されている市販のデバイス(セントロニクスポート経由で接続されたプリンター、LEDディスプレイ、RS232端末など)を使用して、プログラムを出力できます。 あらゆる種類のプログラマブルデバイスを出力デバイスとして使用する場合、プログラムロジックをそこに配置することはできません。 例:RS232を使用してデータをコンピューターに送信する場合、コンピューターはRS232から受信したデータを表示するだけです。ただし、既存の端末プログラムにこの機能がある場合は、データをロジックデバイスにエコーバックするなどのRS232オプションをオンにすることができます。 すべての(最近または過去の)「標準」コーディング(ASCII、UNICODE、EBCDIC、モールス符号など)を使用できます。 プログラムは、独自のソースコードを出力するだけで済みます。VHDL / Verilog / ...「ワイヤ」と実際のI / Oピンの間のマッピングのみを含むファイル、コンパイラ設定と同様のファイルを含むファイルは「ソースコード」とは見なされないため、書き込む必要はありません。 必要な場合は、選択した周波数のクロック入力ピンが1つあります。 オンチップユニット(オンチップSRAMやオンチップ乗算器など)は使用しないでください。 コードをテストするために、追加のコードを使用して出力デバイスをシミュレートできます。もちろん、ロジックデバイスもシミュレーションできます(実際のデバイスがない場合)。 標準の抜け穴が適用されます。 勝者 プログラムのサイズを計算するために、実際の出力デバイス(プリンタなど)が論理デバイスの一部のI / Oピンに接続されていると想定しています。 FPGAで最も少ない「LE」セルを必要とするコード(Altera EP2C20F484C7)が優先されます。 私のFPGAが小さすぎる(=最小のソリューションに十分な大きさではない)場合、「LE」タイプのセル(EP4CGX150DF31I7)を持つ最大のものをコンパイルします。 それでも不十分な場合は、無料のコンパイラでサポートされている最大のもの(EP2AGX260FF35I5)を試してみます。 そのデバイスがまだ小さすぎる場合は、ソースコードのサイズがカウントされます。 注意 Googleで「quine VHDL」を検索すると、最初のページにVHDLで書かれた少なくとも3つのquinesが見つかりました。 残念ながら、実際のロジックデバイスでは機能せず、エミュレータでのみ機能します(エミュレータの)標準出力が使用されるためです。 幸運を!

9
ブールパーサーを作成する(続き)
著者がいなくなって質問が終了したため、この課題の継続。 ブールパーサーを作成する必要があります。 ブール式は、まだ聞いたことがない場合に備えて、2つの入力と1つの出力を備えています。 つまり、ブール演算には4つの「ゲート」があります。 OR(で表される|)(2項演算子、引数の間) AND(で表される&)(2項演算子、引数間) XOR(で表される^)(2項演算子、引数間) NOT(で表される!)(単項演算子、右側の引数) これらのゲートは、真(で表される1)または偽(で表される0)の入力に対して動作します。次のように真理値表を使用して、可能な入力(AおよびBこの場合)と出力(O)をリストできます。 XOR A|B|O ----- 0|0|0 0|1|1 1|0|1 1|1|0 OR A|B|O ----- 0|0|0 0|1|1 1|0|1 1|1|1 AND A|B|O ----- 0|0|0 0|1|0 1|0|0 1|1|1 NOT A|O --- 0|1 1|0 入力例はで1^((1|0&0)^!(1&!0&1))、次のように評価されます。 1^((1|0&0)^!(1&!0&1)) =1^(( 1 &0)^!(1&!0&1)) =1^( 0 ^!(1&!0&1)) =1^( 0 ^!(1& 1&1)) =1^( 0 ^!( …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.