Language detail: J
Coverage: 37.06%
|
number of '+' ratings |
contribution for coverage |
Unsolved challenges
- 年賀はがきの当せん番号 (Nested Flatten)
- 箱詰めパズルの判定 (Nested Flatten)
- 関数やメソッドのソースの平均行数 (Nested Flatten)
- コレクションの実装 (Nested Flatten)
- 居眠り床屋問題 (Nested Flatten)
codes
回文日付
(Nested
Flatten)
1 2 | load 'dates'
,.(#~1e7&<)/:~".1":(,~|.)"1[366 4 $,10 10#:}."1 todate 1460+i.366
|
シードを固定した乱数
(Nested
Flatten)
「?.」の片側型がシード値を固定した乱数を返す動詞です。 乱数の生成方法は、デフォルトでは、Mersenne Twister ですが 他の方法も選択可能なようです。 ?.10000 6146 ?.10000 6146
1 | exit echo ?.10000
|
バイナリクロック
(Nested
Flatten)
表示は0と1そのまま。 >jconsole binary_clock.ijs 0 0 0 1 1 1 1 1 0 1 1 1
1 | exit echo (6#2) #: 3 4 { 6!:0 ''
|
IPv4アドレスのマスクの変換
(Nested
Flatten)
a2m '255.255.255.0' 24 a2m '255.255.255.128' 25 a2m '255.255.255.255' 32 m2a 24 255.255.255.0 m2a 25 255.255.255.128 m2a 32 255.255.255.255
1 2 | a2m =: 3 : '+/ , #: ". > ''.'' cutopen y'
m2a =: 3 : '}: ; ,&''.'' @ ": each 256 #. inv #. 32 {. y # 1'
|
ミリ秒まで含んだ時刻文字列
(Nested
Flatten)
J602 から日時を取得する動詞に書式指定ができるようになっていた。
1 | dateString =: (6 !: 0) & 'YYYYMMDDhhmmss.sss'
|
ストレンジアトラクタの描画
(Nested
Flatten)
むかし、わけもわからずBASICで表示していたもの。 「グモウスキーとミラの翼」とかいうらしい。
1 2 3 4 5 6 7 8 9 10 11 12 | load 'plot'
f =: 4 :'(x * y) + (2 * (1 - x) * y * y) % (1 + y * y)'
gma =: 4 : 0
'a b c' =. x
'x0 y0' =. y
x1 =. y0 + (y0 * a * (1 - b * y0 * y0)) + (c f x0)
x1, y1 =. (-x0) + (c f x1)
)
'type dot' plot ;/ |: 0.008 0.05 _0.8 gma ^: (< 50000) 0.1 0
|
条件を満たす行を取り除く
(Nested
Flatten)
1 2 3 4 5 6 7 8 9 10 | load 'files'
print =: (1!:2)&2
f =: 3 : 0
if. '#' ~: y do. print y end.
''
)
f fapplylines 'data.txt'
|
16進数から10進数の変換
(Nested
Flatten)
hex2dec '12437308CCB6' 20080902065334 hex2dec '2C9C1227FC6520B' 200904012311450123 hex2dec 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' 340282366920938463463374607431768211455 (2x^128)-1 340282366920938463463374607431768211455
1 | hex2dec =: 16x #. '0123456789ABCDEF' i. ]
|
HTTPでGET
(Nested
Flatten)
1 2 3 4 5 | load 'socket'
coinsert 'jsocket'
load '~system\examples\socket\socklab.ijs'
webget 'ja.doukaku.org/feeds/comments/'
|
Hello, world!
(Nested
Flatten)
その2からやってこっちを忘れていた。
1 | exit echo "Hello, world!"
|
間違えました。Jの引用符は「'」だけでした。
1 | exit echo 'Hello, world!'
|
行列式の計算
(Nested
Flatten)
]data=:(i.4)|."0 1>:i.4 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 det data 160
1 | det=:-/ .*
|
ケブンッリジ関数
(Nested
Flatten)
convert ucp data こにちんは みなさん おんげき でかす? わしたは げんき です。 この ぶんょしう は いぎりす の ケリブッンジ だいがく の けゅんきう の けっか にげんん は もじ を にしんき する とき その さしいょ と さいご の もさじえ あっれいてば じんばゅん は めちちゃくゃ でも ちゃんと よめる という けきんゅう に もといづて わざと もじの じんばゅん を いれかえて あすまり。 どうです? ちゃんと よゃちめう でしょ? ちんゃと よめたら はんのう よろしく
1 2 3 4 5 6 7 8 9 10 11 12 | Cagrdibme=:3 :';(3<#y){y;((0,(>:?~#}:}.y),_1){y)'
convert=:3 :';>,&(<LF)@((,'' ''&;)/)(L:1)Cagrdibme(L:0)cutopen&.>cutopen y'
data=:0 :0
こんにちは みなさん おげんき ですか? わたしは げんき です。
この ぶんしょう は いぎりす の ケンブリッジ だいがく の けんきゅう の けっか
にんげん は もじ を にんしき する とき その さしいょ と さいご の もじさえ あっていれば
じゅんばん は めちゃくちゃ でも ちゃんと よめる という けんきゅう に もとづいて
わざと もじの じゅんばん を いれかえて あります。
どうです? ちゃんと よめちゃう でしょ?
ちゃんと よめたら はんのう よろしく
)
|
急勾配の判定
(Nested
Flatten)
累積値のリストをつくって元のリストと比較しているので 効率は良くないと思います。 ]data1=: 2^i._15 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 ]data2=: 100(0)}2^i._15 100 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 f data1 1 f data2 0
1 | f=:*/@(>(-~+/\.))
|
複素数
(Nested
Flatten)
J言語では複素数 a + bi を ajb で表現します。
1 2 3 4 5 6 7 8 9 10 | 3j1 + 4j_1
7
5j_9 - 2j6
3j_15
5j3 * 5j8
1j55
9j_7 % 9j_3
1.13333j_0.4
| 2j3
3.60555
|
ファイルサイズの取得
(Nested
Flatten)
ファイルが存在しない場合は「_」を返します。 fsize 'jconsole.exe' 40960 fsize 'pconsole.exe' _
1 | fsize =: 1!:4&< :: _:
|
ナベアツ算
(Nested
Flatten)
アホなので数字が返せません。 nabeathu 50 1 2 _ 4 5 _ 7 8 _ 10 11 _ _ 14 _ 16 17 _ 19 20 _ 22 _ _ 25 26 _ 28 29 _ _ _ _ _ _ _ _ _ _ 40 41 _ _ 44 _ 46 47 _ 49 50
1 | nabeathu=:3 :'_(I.+./(0=3|a),:+./|:3=10#.inv a)}a=.>:i.y'
|
自分自身を表示する
(Nested
Flatten)
1 2 3 4 5 6 7 8 9 10 11 12 | f=:0 :0
wd'f=:0 :0'
wd}:f
wd')'
wd}:f
exit''
)
wd'f=:0 :0'
wd}:f
wd')'
wd}:f
exit''
|
除算・余剰を使わずに閏年
(Nested
Flatten)
next >>
#5409のJ版。 leap 1800 0 leap 2000 1 leap 2007 0 leap 2008 1
1 | leap=:3 :'0 0-:_2{.#:".;(''00''-:_2{.a){(_2{.a);2{._4{.a=.":y'
|





pooq
#10094()
[
J
]
Rating0/0=0.00
f '123' 1231 3 2 2 3 1231 1231 3 2 2 3 1321 1321 3 2 2 3 1231 f 'world' worldw d o l r r l o d worldw worldw d o l r r l o d wdlrow wdlrow d o l r r l o d worldwf=:3 :0 P=.{.y TB=.,.}.y BT=.,.|.TB EL=.<:#y SP=.' ' a=.y,P,(EL#SP),y,P smoutput ((,~#y)$SP),.(y,P),BT,.((,~EL)$SP),.TB smoutput (a,BT,.((EL,<:3*#y)$SP),.TB),|.a smoutput ((,~#y)$SP),.(BT,.((,~EL)$SP),.TB),y,P )Rating0/0=0.00-0+
[ reply ]