Just another Ruby porter,

〜2016年7月中旬〜


<Older(,) | Newer(.)> | Recent(/)>> | RDF

2016-07-11 (Mon)

333333333333333331

やはり繰り返しはjqを使うと楽だ。

% seq 20 | while read n;do printf '%0*d1\n' $n;done | tr 0 3 | factor | awk -M '$0*=!$3'
31
331
3331
33331
333331
3333331
33333331
333333333333333331
% seq 20 | jq -r '"3"*.+"1"' | factor | awk -M '$0*=!$3'
31
331
3331
33331
333331
3333331
33333331
333333333333333331


2016-07-12 (Tue)

正規表現で素数

jq 1.5だと正規表現対応しているので素数判定に使える。

% seq 2 100 | jq 'select("0"*.|test("^(00+?)\\1+$")|not)'                           
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

桁数が増えると処理時間も増える。

% echo 100000000 | /usr/bin/time -f %E jq 'select("0"*.|test("^(00+?)\\1+$")|not)'
0:10.16

やっぱ素数にはfactorだな。

cf: https://twitter.com/climagic/status/752873364109221888


2016-07-13 (Wed)

jqで素数

馬鹿正直に自分より小さい整数で割った余りから素数かどうか判断する方法。

% seq 2 100 | jq 'select([.%range(2;.)>0]|all)'            
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

どう考えても遅い。


2016-07-14 (Thu)

DockerfileでWORKDIR

WORKDIRを設定する前にディレクトリを作っておく必要はない。
CPも同様でディレクトリが存在しなければ勝手に作ってくれる。


<Older(,) | Newer(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!