三流プログラマの戯言

プログラミング初心者が気になったことを書き綴るだけ。主にc#

Brainf*ck

brainfuck でも三角関数がしたい【ABC168C-: (Colon) を解く】

初めに この記事は普通の問題解説ではないので、普通の解説が見たい方は別の方の記事をご覧ください。 目次 初めに 目次 概要 解法 時針と分針の角度を求める 三角関数 (cos) の実装 平方根を求める ところで精度は足りますか? 実際の提出 あとがき 概要 今…

brainfuck 閑話 : 配列のランダムアクセス

初めに 今回は Brainf*ck Advent Calendar 2019 の 7 日目の記事です。 adventar.org 前日の記事はこちら 明日の記事はこちら 目次 初めに 目次 概要 配列の表現方法 本記事での制約 コードとメモリ遷移 方法1 方法2 方法3 方法4 ざっくり解説 計算量 空…

brianfuckの小手先のテクニックで変数を削減

初めに 今回は Brainf*ck Advent Calendar 2019 の 6 日目の記事です。 adventar.org 前日の記事はこちら 明日の記事はこちら 誘ってくださった主催者さんには感謝しています。 目次 初めに 目次 概要 ループ構造の逆転 問題 解答コード 解説 二つのループ b…

brainfuck 閑話:マルチバイト変数 設計編

概要 今回はマルチバイト変数(多バイト長整数)について書いていきます。 簡単に言うと、256 の数値を扱う方法です。 本当はもっと後に書く予定でしたが、知りたいという方がいたので前倒しで書きました。 今は閑話としてカテゴライズして、後でもう一度ま…

brainfuck 入門:文字列の受け取り

概要 今回は文字の入力に関して説明します。数値の入力ではないです。ごめんなさい。 目次 概要 目次 文字列読み込み 1 行読み込み スペースまでの読み取り 改行またはスペースまでの読み取り 問題例 次回 記事一覧 文字列読み込み 1 行読み込み brainfuck …

brainfuck 入門:if 文と bool 演算

概要 今回は、if 文とそれに伴う bool 演算について解説します。等価、不等価も説明しますが、大小比較に関しては別記事で書こうと思っています。 目次 概要 目次 if 文 if 文 if-else 文 bool 演算 bool 化 ((bool)value) 真理値反転 (!value) 不等価演算 (…

brainfuck 入門:値の移動とコピーと初期化と準非破壊ループ

概要 brainfuck を書く上で基本となる、値の移動、値のコピー、値の初期化および、準非破壊な繰り返し文の説明をします。 目次 概要 目次 構文解説 値の移動 値のコピー 値の初期化 準非破壊ループ 問題例 次回 記事一覧 構文解説 値の移動 brainfuck では、…

brainfuck 入門:言語仕様編

今回の主軸 今回は、 brainfuck の言語仕様と環境依存の挙動について解説します。 目次 今回の主軸 目次 brainfuck とは Hello World. 概要 予約語 メモリ仕様 未定義動作 実行環境による裁量 今回の記事に用いる実行環境 実行環境例 問題例 次回 記事一覧 b…

AtCoderで茶色になるまでにやったこと/あったこと

先日(2019/09/21 )のAGC083にてついに茶色になることができました。 AtCoder界隈では色変したらブログを書く慣習があるようなので書いてみます。 茶色でこの記事を書くのは自分ぐらいだと思います。 茶色になったわけですが、使用言語はbrainf*ckです。rated…

AtCoderGrandContest038 を brainfu*ckで挑戦

初めに AGC038が終わりました。Aのみの1完ではありましたが700点はbrainf*ckでは無理なので、満足いく結果です。 ABC140二続き解説記事を書きました。 ABC141?いえ、知らない子ですねぇ。 目次 初めに 目次 注意 A - 01 Matrix 概要と設計指針 概要とコード…

AtCoder Beginner Contest 140

初めに ABC140が終わりました。自分は残念ながらABCの3完でレートは下がりました。 (といっても、元が低いので、そこまで低くはなっていないですが。 コンテスト終了して8分ほどあとにDをACしました。時間内に出せていたらと思うと悔しいです。 せっかく時…

CPSCO2019 Session1 B問題をbrainf*ckで解く(後編)

前編では、配列の作成まで書きましたが、 後編では、それらの値がすべて等しいかどうかを判別していきます。 前編を読んでない人は先にそちらを読んでください。 一般の言語だと、配列の先頭から見て、0でなければ記録されている数と一緒かどうかを見ていっ…

CPSCO2019 Session1 B問題 をbrainf*ckで解く(前編)

こんにちは、先日はにーまさん主催の初心者向け競プロ合宿CPSCOに参加してきました。 主催してくれたはにーまさんには感謝しています。 細かいSessionの話とかはほかの人に任せて、今回はSession1のB問題に関して書いていきます。 使用言語はBreakbrainf*ck…

Brainf*ckでオセロを書いた話

Brainf*ckでオセロ(Reversi)プログラム書いたので、メモ程度に投稿。 詳しい解説は気が向けばするかも… 一応,オーバーフロー、アンダーフローは反対側に出る。 標準入力はEnterも受け取ることにしています。 境界値判定は行っていないので、入力値がおかし…