Language detail: J

Coverage: 37.06%
number of '+' ratings
contribution for coverage

Unsolved challenges

codes

Feed

Used modules

next >>

文字列で+を表示する (Nested Flatten)
   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
     worldw
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
f=: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
)
回文日付 (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)
#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'
next >>

Index

Feed

Other

Link

Pathtraq

loading...