お題は、8桁の2進数で与えられた数が三角数かどうか判定せよ。入力は50個の数からなる。三角数なら1、そうでないなら0を出力せよ。私は赤チームだったのですが、緑チームにかなりのプロ2名がいらっしゃったようで、残念ながら自分の書いたコードは他の方に塗りつぶされてしまった・それによって提出する権利を失ってしまったのですが、Esolangの習得に関してはまあまあ頑張れたかな、と思ったので、自分のやったものについて、書いた順に触れていきます。ルール説明PHPBash(pure)emojicodeGlassTaxi感想PHP皆さんおなじみPHPです。赤チームだったので真っ先に取り組んだ言語でした。入力に少し戸惑って調べたことを除いては、自分が書いた言語としては最も簡単(自分が既に習得しているため)なものでした。Wikipediaを見ると、三角数か否かの判定方法は「{√(8N+1)-1}/2が整数かどうか」とありました。これの必要箇所のみを抜き取ってあげただけです。1^$j<=>floor($j);}という感じで書いたのですが、比較関数が上手く動かず、結局宇宙船に頼ることになってしまいました...Bash(pure)Windowsを普段使わない人なら使ったことがあるであろうターミナルで扱う言語です。pureなので外部コマンドが一切使えないそう(自分は結局どこまで出来るのが知りませんでしたが、それが痛い)先ほどのように根号が使えないので、1から順に足していった数字を毎回比較しています。後に気付きましたが引いた方が自明にコードは短くなります。自分の実力では到底追いつけないほどのコード差を付けられてしまったので修正はしていません。0;fi;done;doneとまあここまでは実用的な言語でした。ここからEsolangに入っていきます。分かりづらさが増すので、分かりやすいように空白を挟んでおきます。emojicode文字通り、全て絵文字です。emojiはスタックを扱う言語らしいですが、こっちはしっかりしていて、数学関数まで実装されています。ドキュメントもとてもしっかりしていました。Onlineと提出時では実行環境がやや異なっていたので苦労しました。🍉やっているのは4行目で入力を10進数に変換して8倍、1を足してルートに入れたのをxに代入して、あとはfloor(x)とceil(x)を比較しています。r*(_o)(on).?\]}2進数をループ回して10進数にして、その後それから1,2,....を引いて毎回数値を確認しているだけです。何も感想が浮かびません。それほど難しくも無かったので...Taxiこれはマジキチでした。タクシーを運転してプログラムを動かすとか意味不明です。挙句の果てにドキュメントにある地図が微妙に違っていたり、タクシーの操作の理解に相当苦労させられたりしたのですが、実装していて面白い言語でした。left.実装内容はGlassと全く同じです。Onlineと言語仕様が異ならない限りACすることは確認済みです)感想まあ、初めてコードゴルフ(Esolangも)やったのですが、プロがいる中で戦うのはやはりつらいです...ショートコーディングのテクニックを知りたいです。2)Codeforcesは2回目の参加。日)ネットの海に生息するらしいバーチャルグソクムシ。競プロとCTFをメインに、たまにEsolangを混ぜます。(7)月別アーカイブリンクGitHubはてなブログをはじめよう!Hyogaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。