37.50.48

%20 の ブログ

3の倍数を正規表現で

leading zero を許容しない十進非負整数は、 /^(0|[1-9][0-9]*)$/ と表現できる。これは、 /^(0|([1-9]0*)+)$/ と表現することもできる。 以下では、「数」は「 leading zero を許容しない十進非負整数」と同じ意味で扱う。 「 x が 3 の倍数である」と「 x …

yukicoder No.502 階乗を計算するだけ

この記事は、yukicoder No.502 階乗を計算するだけ の解説というより、自分が書いたコードの解説です。 作問者による解説にもある通り、この問題は、予め一部の値を計算しておいて、それを埋め込むことで解ける。作問者は「例えば1000個を埋め込む」と解説し…

yukicoder No.491 10^9+1と回文

この記事は、yukicoder No.491 10^9+1と回文 の解説です。 N の桁数を L とする。10^9+1 の倍数かつ回文数であるような 1 以上 N 以下の整数のうち最大のものを M とする。M が求まれば、最終的な答えは簡単に求まる。 例えば、M=543212345543212345 (これを…

正規表現の積

誰か解いて 追記ここから (長さの制約は適当なのでもっと大きくしても解けるなら大きくしてもらって構わない。)— %20(物理的身近に人がいない) (@henkoudekimasu) 2017年3月5日 一応言っておくと、自力で解けないから「誰か解いて」と言ったのであって、…

Perl でコードゴルフをする時に空白が必要なのはどういう場合か

普通にプログラミングをする上では、空白文字(スペース・タブ・改行)というものは多用されるが、文法上必須であるものは少ない。コードゴルフにおいては、最終的に出来上がるコードには、文法上必須であるような空白以外は不要である。Perl で空白が必要に…

yukicoder No.81 すべて足すだけの簡単なお仕事です。

この記事は、yukicoder No.81 すべて足すだけの簡単なお仕事です。 の解説かもしれない(し、解説でないかもしれない)。この問題のコードゴルフがとても楽しかったので、何があったのかを時系列順に書いてみた次第。 2016-05-25 14:59:37 84B #93995 Matcha…

コードゴルフをする場について

誰向けの記事なのかよくわからない。 Anarchy Golf ゴルフ場 111言語 esolang 多め テストケースは最大3件で全て可視 出題期間は2週間が基本だが、1時間から4週間、無期限もある 出題頻度は時によりばらばら 誰でも作問・出題できる 単に解くだけなら簡単な…

1種類の括弧対で非負整数を表現する記法を思いついた

1種類の括弧の対だけで非負整数を一意に表現するよくわからない記法を思いついた。 この記法で 0 から 32 までを列挙すると以下の通り。 0 () 1 (()) 2 ((())) 3 ((())()) 4 (((()))) 5 (((()))()) 6 (((())())) 7 (((())())()) 8 ((((())))) 9 ((((())))())…

ferNANDo という言語で足し算をした。

ferNANDo という esolang(難解プログラミング言語)で A plus B problem という問題を解いた。endless 問題のネタバレなので、自力で解きたい人は引き返して下さい(いないと思うけど)。 ferNANDo の命令は「入力を1文字読む」「1文字出力する」「2変数を …

Perl では「偽⇒0」は真だが「0⇒偽」は必ずしも真でない

Perl では、真偽値として解釈した値が偽であるならば、数値として解釈した値は 0 である。しかし、数値として解釈した値が 0 であっても、真偽値として解釈した値が偽になるとは限らない。 項 真偽 +0 .'' 備考 0 偽 0 '0' 0b0 偽 0 '0' 0x0 偽 0 '0' 0e5 偽…

AtCoder での Perl golf に関するメモ

最近、AtCoder の問題を(ゴルフで)解き始めた。それに関するメモ。気が向いたら追記する。 N $_**=3,print$_,$/for<> $_=<>;print$_**3,$/ print+($_=<>)**3,$/ $_=<>**3;print$_,$/ print$_**3,$/for<> print<>**3,$/ S $_=<>;print s/abc/xyz/r $_=<>;s/…

ブログを始めるよりも前にあなごるで出題した問題

Anarchy Golf で自分が出題した問題について、ブログを始めたら何かしら書こうと以前から思っていたので書く。 850. A045718 素数±1 の数を 1 から 252 まで出力する問題。初めての出題だったので、簡単だし出題期間は1週間でいいよね・・・とか思って1週間…

ブログを開設した。

とりあえずブログ作った。