[過去ログ]
プログラミングのお題スレ Part13 (1002レス)
プログラミングのお題スレ Part13 http://mevius.5ch.net/test/read.cgi/tech/1549160513/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
549: デフォルトの名無しさん [sage] 2019/03/08(金) 09:23:36.88 ID:iTwHpxzE >>547 Squeak Smalltalk | fn | fn := [:arr | | groups | groups := arr groupBy: #asLowercase having: [:group | group size > 1]. groups values collect: #asArray ]. fn value: #('aB.txt' 'Ab.txt' 'xx' 'cd' 'cD' 'CD'). "=> #(('cd' 'cD' 'CD') ('aB.txt' 'Ab.txt')) " http://mevius.5ch.net/test/read.cgi/tech/1549160513/549
550: デフォルトの名無しさん [] 2019/03/08(金) 09:47:13.60 ID:pv8HlopZ >>547 それはWindowsとかでは試せないのでは?ディレクトリが違うならできるだろうけど。 (まあWindowsでもWSLでUbuntuとか動かせばできるが) http://mevius.5ch.net/test/read.cgi/tech/1549160513/550
551: 547 [sage] 2019/03/08(金) 11:48:57.26 ID:N66/0TP0 同一フォルダ内での、大文字小文字だけが異なるファイル名は、Windows では作れないけど、 Linux では作れてしまうので、それをチェックする目的です Linuxでも、こういうファイル名は作らない方がよい http://mevius.5ch.net/test/read.cgi/tech/1549160513/551
552: デフォルトの名無しさん [sage] 2019/03/08(金) 16:35:28.24 ID:VhFMuL/G >>551 死ね http://mevius.5ch.net/test/read.cgi/tech/1549160513/552
553: デフォルトの名無しさん [sage] 2019/03/08(金) 17:12:36.80 ID:qP6cz7Aj 時々死ねと言うやついるけど同じやつなのか? いい加減で大人になれ。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/553
554: デフォルトの名無しさん [] 2019/03/08(金) 18:19:49.57 ID:aY8HpC9F イ? http://mevius.5ch.net/test/read.cgi/tech/1549160513/554
555: デフォルトの名無しさん [sage] 2019/03/08(金) 18:42:00.27 ID:eAQ60MzF お題: 1=2を証明しろ 証明出来ないは無しで http://mevius.5ch.net/test/read.cgi/tech/1549160513/555
556: デフォルトの名無しさん [sage] 2019/03/08(金) 18:49:56.10 ID:qP6cz7Aj >>555 それは言語によるんじゃないの? 論理的にはあり得ない。 一般的には、0がFalse でそれ以外がTrueと言うだけでは? http://mevius.5ch.net/test/read.cgi/tech/1549160513/556
557: さまよえる蟻人間 ◆T6xkBnTXz7B0 [sage] 2019/03/08(金) 18:58:42.07 ID:8R2ZaOuQ 整数のオーバーフロー使えば楽に証明できるけど、それはもはや基礎数学の整数じゃないし。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/557
558: デフォルトの名無しさん [sage] 2019/03/08(金) 19:14:26.55 ID:2owB+W9f >>544 octave https://ideone.com/JoTcaP http://mevius.5ch.net/test/read.cgi/tech/1549160513/558
559: デフォルトの名無しさん [sage] 2019/03/08(金) 19:17:05.52 ID:ru9qZk5w お題: N人の人物がある部屋に出入りしています。 i番目の人は時刻a[i]に入室し、時刻b[i]に退室します。(1 <= a[i] < b[i]) すべての人は入退室時に以下の通り行動します。 ・入室時に、照明がOFFならば照明をONにする。 ・退室時に、室内に自分以外に誰もいなければ照明をOFFにする。 最初は照明がOFFになっていて室内には誰もいません。 複数の人物が同時に入退室することはないものとします。 照明がONになっている時間の合計を求めなさい。 a={1,3,5} b={2,4,6} => 3 a={1,2} b={5,6} => 5 a={100,1,2} b={105,3,4} => 8 http://mevius.5ch.net/test/read.cgi/tech/1549160513/559
560: デフォルトの名無しさん [sage] 2019/03/08(金) 20:42:26.76 ID:q/o0JPH8 >>364 brainf*ck >++++++++++<+[,.>.<] http://mevius.5ch.net/test/read.cgi/tech/1549160513/560
561: デフォルトの名無しさん [sage] 2019/03/08(金) 20:42:27.70 ID:AweN/YnK ★ぁりが?ヾ(。・ω・。)ノぁりが?★ http://mevius.5ch.net/test/read.cgi/tech/1549160513/561
562: デフォルトの名無しさん [sage] 2019/03/08(金) 20:54:42.10 ID:2owB+W9f >>559 ruby https://ideone.com/yo3mvc http://mevius.5ch.net/test/read.cgi/tech/1549160513/562
563: デフォルトの名無しさん [] 2019/03/08(金) 21:22:26.01 ID:QMcItLTV >>559 Common Lisp https://ideone.com/2hHoAC http://mevius.5ch.net/test/read.cgi/tech/1549160513/563
564: デフォルトの名無しさん [sage] 2019/03/08(金) 21:55:03.73 ID:2owB+W9f >>547 ruby https://ideone.com/faTKf5 http://mevius.5ch.net/test/read.cgi/tech/1549160513/564
565: デフォルトの名無しさん [] 2019/03/09(土) 08:53:56.42 ID:irV15TzB >>410 J f =: 3 : 0 > , { ;/(,. toupper) y ) http://mevius.5ch.net/test/read.cgi/tech/1549160513/565
566: 562 [sage] 2019/03/09(土) 09:29:27.51 ID:8CAUa/TL >>559 ruby すこーしすっきり f = ->a, b {a.zip(b).map {|c| (c.first...c.last).to_a}.inject(:|).size} ↓ f = ->a, b {a.zip(b).map {|c, d| [*c...d]}.inject(:|).size} http://mevius.5ch.net/test/read.cgi/tech/1549160513/566
567: 547 [sage] 2019/03/09(土) 10:58:09.02 ID:GVs3bbIF >>564 たった2行とは、素晴らしい! JavaScript(JS)とか、関数型プログラミングだね f(&:upcase), f(&:chomp) 関数型でも、こういうように呼ぶ関数名が明確にわかる点では、Ruby はJS をしのぐ! 漏れが以下で作ったけど、手続き型の処理で、10行以上も掛かったw 情けない Ruby 初心者スレッド Part 65 https://mevius.5ch.net/test/read.cgi/tech/1545421414/234 http://mevius.5ch.net/test/read.cgi/tech/1549160513/567
568: デフォルトの名無しさん [sage] 2019/03/09(土) 12:51:20.88 ID:C6v7oEvs クソみてーな恣意的な記号使いはperl譲りだな http://mevius.5ch.net/test/read.cgi/tech/1549160513/568
569: デフォルトの名無しさん [sage] 2019/03/09(土) 13:17:28.26 ID:capoU8RA アンダースコア_はprologの時点であるんじゃね それに記号なら恣意的だろ http://mevius.5ch.net/test/read.cgi/tech/1549160513/569
570: デフォルトの名無しさん [] 2019/03/09(土) 19:25:50.03 ID:hBO8FWAE >>544 Haskell main = mapM_ print $ newxss ++ [zipWith (+) (newxss!!0) (newxss!!1)] xss = [[1,2,3],[4,5,6]] newxss = map (\xs -> xs ++ [sum xs]) xss http://mevius.5ch.net/test/read.cgi/tech/1549160513/570
571: デフォルトの名無しさん [sage] 2019/03/09(土) 19:49:27.50 ID:R3sqYFdd お題:文字列と数値nが与えられるのでn番目の文字とそれ以外の文字を上下にスライドさせて表示する 入力 abc 2 出力 *b* a*c http://mevius.5ch.net/test/read.cgi/tech/1549160513/571
572: デフォルトの名無しさん [sage] 2019/03/09(土) 19:57:53.65 ID:C6v7oEvs お題か出力のどっちかが間違っている 日本語勉強した方がいい http://mevius.5ch.net/test/read.cgi/tech/1549160513/572
573: デフォルトの名無しさん [] 2019/03/09(土) 19:58:57.39 ID:hBO8FWAE >>544,570 任意の数の行列だったか。。。 修正 main = mapM_ print $ newxss ++ [lastxs] xss = [[1,2,3],[4,5,6],[7,8,9]] newxss = map (\xs -> xs ++ [sum xs]) xss lastxs = map sum $ retsu newxss retsu ([]:xs) = [] retsu xss = map head xss:retsu (map tail xss) http://mevius.5ch.net/test/read.cgi/tech/1549160513/573
574: デフォルトの名無しさん [] 2019/03/09(土) 20:10:49.99 ID:0OOZ8KrR >>557 オーバーフローは数学ですらないだろ。こっちは数学。 宇宙を支えていたのは、驚異のたし算だった 私がこのたし算を知ったのは20歳のころでした。その衝撃は、私の運命を変えるまでの威力を持っていました。 私の大学は2年生で所属学科を決めるシステムになっており、私はアインシュタインに憧れて物理学科に進もうとしていました。 その私が出会ったのがラマヌジャン(1887-1920)です。彼が描いた2つの絵を見た瞬間、私の中で何かが変わりました。 http://jbpress.ismedia.jp/mwimgs/4/b/400/img_4b7f33022b840f792a0324a10b89a24d369437.jpg http://jbpress.ismedia.jp/articles/-/46939 http://mevius.5ch.net/test/read.cgi/tech/1549160513/574
575: さまよえる蟻人間 ◆T6xkBnTXz7B0 [age] 2019/03/09(土) 20:18:26.71 ID:XY+I2Bbh >>574 応用数学ではオーバーフローも数学の一種。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/575
576: デフォルトの名無しさん [] 2019/03/09(土) 20:25:11.72 ID:hBO8FWAE >>364 Haskell main = mapM_ (\c -> putStrLn $ c:[]) "hello" http://mevius.5ch.net/test/read.cgi/tech/1549160513/576
577: デフォルトの名無しさん [] 2019/03/09(土) 20:38:18.94 ID:1xJckQ5D >>544 kotlin https://paiza.io/projects/cL6xIQA--yDFZ1pjndvzAw Double型でやったら出力に小数点以下が付加されたが値として間違ってるわけではないのでそのままにする。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/577
578: デフォルトの名無しさん [sage] 2019/03/10(日) 01:41:18.58 ID:5A3UW8N7 >>544 Python import numpy as np # 何行何列でも良い ar =[ [1,2,3,4], [4,5,6,7], [7,8,9,10] ] #縦に足して行を追加 r=np.vstack((ar,np.sum(ar,axis=0))) #横に足して列を追加 ans=np.hstack((r,np.sum(r,axis=1).reshape((-1,1)))) print('ans=\n',ans) ''' ans= [[ 1 2 3 4 10] [ 4 5 6 7 22] [ 7 8 9 10 34] [12 15 18 21 66]] ''' http://mevius.5ch.net/test/read.cgi/tech/1549160513/578
579: デフォルトの名無しさん [sage] 2019/03/10(日) 03:08:27.84 ID:LqrBe0vy >>571 ruby s = "abc" n = 2 t = "*" * s.length t[n - 1] = s[n - 1] u = s.clone u[n - 1] = "*" puts(t, u) http://mevius.5ch.net/test/read.cgi/tech/1549160513/579
580: デフォルトの名無しさん [] 2019/03/10(日) 11:57:40.70 ID:e6SI07pl >>571 J f =: 4 : 0 |: ((,. -.) (<:x) = i. # y ) {"1 '*' ,. y ) 2 f 'abc' *b* a*c http://mevius.5ch.net/test/read.cgi/tech/1549160513/580
581: デフォルトの名無しさん [] 2019/03/10(日) 13:31:21.17 ID:vqbsu7fW >>571 Haskell main = do putStrLn $ seclet "abc" (==) 2 putStrLn $ seclet "abc" (/=) 2 seclet lst func num = seclet' lst func 1 num where seclet' [] _ _ _ = [] seclet' (x:xs) f n a | f n a = x: seclet' xs f (n + 1) a seclet' (_:xs) f n a = '*': seclet' xs f (n + 1) a http://mevius.5ch.net/test/read.cgi/tech/1549160513/581
582: デフォルトの名無しさん [] 2019/03/10(日) 13:56:33.99 ID:vqbsu7fW >>571 >>581 引数の順序入れ替えてmapM_ 使って、main部分を一行にまとめた。 main = mapM_ (putStrLn.seclet "abc" 2) [(==),(/=)] seclet lst num func = seclet' lst 1 num func where seclet' [] _ _ _ = [] seclet' (x:xs) n a f | f n a = x: seclet' xs (n + 1) a f seclet' (_:xs) n a f = '*': seclet' xs (n + 1) a f http://mevius.5ch.net/test/read.cgi/tech/1549160513/582
583: デフォルトの名無しさん [sage] 2019/03/10(日) 17:19:36.82 ID:lsf+n+kn >>571 Perl5 ($s, $n)= qw{abc 2}; @s = split'',$s; @t = qw{*} x @s; $n--; ($s[$n], $t[$n]) = ($t[$n], $s[$n]); print @t, "\n", @s, "\n"; 実行結果 ~ $ perl 13_571.pl *b* a*c http://mevius.5ch.net/test/read.cgi/tech/1549160513/583
584: デフォルトの名無しさん [sage] 2019/03/10(日) 17:47:53.28 ID:lsf+n+kn >>544 Perl5 @a = ([1, 2, 3,], [4, 5, 6]); use List::Util sum; push @$_, sum(@$_) for @a; for $i (0..$#{$a[0]}) { push @b, sum(map{$a[$_][$i]} 0..$#a) } print "@$_\n" for @a; print "@b\n"; 実行結果 ~ $ perl 13_544.pl 1 2 3 6 4 5 6 15 5 7 9 21 http://mevius.5ch.net/test/read.cgi/tech/1549160513/584
585: デフォルトの名無しさん [sage] 2019/03/10(日) 20:48:09.83 ID:z5UigTCL >>571 octave https://ideone.com/fEaJMh http://mevius.5ch.net/test/read.cgi/tech/1549160513/585
586: デフォルトの名無しさん [sage] 2019/03/10(日) 21:12:33.92 ID:ObNpfzdX ここっておっさんが多いイメージ http://mevius.5ch.net/test/read.cgi/tech/1549160513/586
587: デフォルトの名無しさん [] 2019/03/10(日) 21:16:39.36 ID:KcIurEvX >>559 Java https://paiza.io/projects/uoq0pfsAO5vRexzfWg1Mdw?language=java http://mevius.5ch.net/test/read.cgi/tech/1549160513/587
588: デフォルトの名無しさん [sage] 2019/03/10(日) 21:20:18.73 ID:z5UigTCL >>571 ruby https://ideone.com/6NM2Z2 >>567 String#lines ←これの存在知らなかった 勉強になりました http://mevius.5ch.net/test/read.cgi/tech/1549160513/588
589: デフォルトの名無しさん [] 2019/03/10(日) 21:46:22.59 ID:KcIurEvX >>547 Java https://paiza.io/projects/2ff8V2wS29AjINHLm-bgYw?language=java http://mevius.5ch.net/test/read.cgi/tech/1549160513/589
590: デフォルトの名無しさん [sage] 2019/03/10(日) 21:59:51.08 ID:5renFNS0 >>571 @Mathematica https://ideone.com/gDkzl4 http://mevius.5ch.net/test/read.cgi/tech/1549160513/590
591: 567 [sage] 2019/03/10(日) 22:01:14.30 ID:bEzyp4mc >>588 余談だが、Ruby のString#lines の所を見たら、chomp: true で改行も削除できる! Rubyは、色々と便利なものを作っている p ary = <<"EOT".lines( chomp: true ) # 配列 a b EOT #=> ["a", "b"] http://mevius.5ch.net/test/read.cgi/tech/1549160513/591
592: デフォルトの名無しさん [] 2019/03/10(日) 22:14:16.51 ID:SJp/1k7U >>571 Common Lisp https://ideone.com/cnTKML http://mevius.5ch.net/test/read.cgi/tech/1549160513/592
593: デフォルトの名無しさん [] 2019/03/10(日) 22:19:23.44 ID:KcIurEvX >>579 Java https://paiza.io/projects/eCieLwJTqtEDvaYM4uknOA?language=java http://mevius.5ch.net/test/read.cgi/tech/1549160513/593
594: デフォルトの名無しさん [] 2019/03/10(日) 22:19:48.10 ID:KcIurEvX ごめん間違えた >>571です http://mevius.5ch.net/test/read.cgi/tech/1549160513/594
595: デフォルトの名無しさん [sage] 2019/03/10(日) 23:51:29.55 ID:THpHptm5 >>571 Node.js https://ideone.com/l4XmDp http://mevius.5ch.net/test/read.cgi/tech/1549160513/595
596: デフォルトの名無しさん [sage] 2019/03/11(月) 00:57:47.40 ID:HrDBQthw >>571 Squeak/Pharo Smalltalk。nを複数指定可で | fn | fn := [:str :ns | | ans | ans := (String new: str size withAll: $*), String cr, str. ns do: [:n | ans swap: n with: n + str size + 1]. ans ]. fn value: 'abc' value: #(2). "=> '*b* a*c' " fn value: 'abcdef' value: #(2 3 5). "=> '*bc*e* a**d*f' " http://mevius.5ch.net/test/read.cgi/tech/1549160513/596
597: デフォルトの名無しさん [] 2019/03/11(月) 01:39:23.53 ID:+Nlo5Elt >>547 Kotlin https://paiza.io/projects/fxNs_pgfP7MwmXYp2xQ1YA http://mevius.5ch.net/test/read.cgi/tech/1549160513/597
598: デフォルトの名無しさん [] 2019/03/11(月) 02:41:21.51 ID:+Nlo5Elt >>559 Kotlin https://paiza.io/projects/rbSY9Q6oTve1ILy1AIIj_g http://mevius.5ch.net/test/read.cgi/tech/1549160513/598
599: デフォルトの名無しさん [sage] 2019/03/11(月) 07:59:46.54 ID:hFtMxxmn >>547 Perl5 https://ideone.com/Mbj5Hz push @{$h{lc $_}}, $_ for <STDIN>; print "@{$_}" for grep{@$_ > 1} values %h; http://mevius.5ch.net/test/read.cgi/tech/1549160513/599
600: デフォルトの名無しさん [sage] 2019/03/11(月) 09:18:51.69 ID:D2PSGRy3 >>571 Python def split3(s,p=1) : r0= s[:p]+'*'+s[p+1:] r1= '*'*p + s[p] + '*'*(len(s)-(p+1)) return r0+'\n'+r1 print(split3('abcd',2)) print(split3('abc',0)) '''結果 ab*d **c* *bc a** ''' http://mevius.5ch.net/test/read.cgi/tech/1549160513/600
601: デフォルトの名無しさん [sage] 2019/03/11(月) 10:48:42.57 ID:u4Ymakq9 お題: 下の例のような入力から例の出力のアスキーアートを出力する。それ以外は自由 例: 入力: >>>>>vvvvv<<<<^^^^ 出力: >>>>> ^****v ^****v ^****v ^****v <<<<v http://mevius.5ch.net/test/read.cgi/tech/1549160513/601
602: デフォルトの名無しさん [sage] 2019/03/11(月) 11:00:20.46 ID:JmszPBJl これって一歩目はなんでもいいよね http://mevius.5ch.net/test/read.cgi/tech/1549160513/602
603: デフォルトの名無しさん [] 2019/03/11(月) 11:35:10.21 ID:AGCERQh7 >>571 Io f := method(s,n, "*" repeated(s size)atPut(n - 1, s at(n - 1)) println s asMutable atPut(n - 1, 42)println ) f("abc",2) 実行結果 *b* a*c http://mevius.5ch.net/test/read.cgi/tech/1549160513/603
604: デフォルトの名無しさん [] 2019/03/11(月) 11:45:13.16 ID:+cahZmCl >>601 それ3番目と4番目は必ず1番目と2番目の長さ-1になってるの? http://mevius.5ch.net/test/read.cgi/tech/1549160513/604
605: デフォルトの名無しさん [sage] 2019/03/11(月) 11:48:56.08 ID:u4Ymakq9 >>602 >>604 そういうめんどくさい質問がこないように、 それ以外は自由と付け加えてある http://mevius.5ch.net/test/read.cgi/tech/1549160513/605
606: デフォルトの名無しさん [] 2019/03/11(月) 13:45:52.04 ID:+cahZmCl >>605 仕様をきっちり決めないと解釈の違いから沢山の違った回答が出てくる可能性があるのだが、それで良いと。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/606
607: デフォルトの名無しさん [sage] 2019/03/11(月) 15:42:22.28 ID:7+lrfCi1 >>604 そもそも4方向にいくらかずつ進んで四角形で終わりという形とは限らないのでは? ランダムに方向や距離を生成して既に通った道も上書きするような入力を許容すると考えたっていいはず。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/607
608: デフォルトの名無しさん [sage] 2019/03/11(月) 16:07:33.07 ID:5vEtkzIB >>605 何でこれ以外の形は許さんと言えないんだ? 自由にどうぞなんて問題じゃ無いだろ。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/608
609: デフォルトの名無しさん [sage] 2019/03/11(月) 16:18:14.19 ID:ZVqwh3rP >>606,608 こいつらホント掃き溜めのゴミだな http://mevius.5ch.net/test/read.cgi/tech/1549160513/609
610: デフォルトの名無しさん [] 2019/03/11(月) 16:19:55.06 ID:+cahZmCl >>571 Kotlin https://paiza.io/projects/fOvQDvJ6VoTchgVL3pYJpw http://mevius.5ch.net/test/read.cgi/tech/1549160513/610
611: デフォルトの名無しさん [] 2019/03/11(月) 16:25:40.59 ID:+cahZmCl >>607 なるほど。しかしそれならばその事を書いておいて欲しかったな。 >>609 何を作れば良いのかよくわからないから質問しているだけなのだが。それが君にとって何か不都合なのか? http://mevius.5ch.net/test/read.cgi/tech/1549160513/611
612: デフォルトの名無しさん [sage] 2019/03/11(月) 16:58:12.79 ID:PGatxMde >>601 出力おかしくねぇ?最初と最後の行は5列だけど 間の行ぜんぶ6列になってるぞ? 出力: >>>>> ^****v ^****v ^****v ^****v <<<<v こうじゃね? >>>>> ^***v ^***v ^***v ^***v <<<<v http://mevius.5ch.net/test/read.cgi/tech/1549160513/612
613: デフォルトの名無しさん [] 2019/03/11(月) 17:14:58.23 ID:+cahZmCl ま、いいや。よくわかんない問題は放っておこう。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/613
614: デフォルトの名無しさん [sage] 2019/03/11(月) 19:21:39.70 ID:PGatxMde >>601 javascript 長くなっちった https://ideone.com/vzncKq 入力: <<<<^^^^>>>>>vv<<<<<<<<<<<vvv>>>^^^^^^^>>>>>>>>>>vvvvvv 出力: ***^>>>>>>>>>> ***^*********v ***^**^>>>>>*v ***^**^****v*v <<<^<<<<<<<v*v v**^**^******v v**^**<<<<***v v>>>********** http://mevius.5ch.net/test/read.cgi/tech/1549160513/614
615: デフォルトの名無しさん [sage] 2019/03/11(月) 19:36:33.05 ID:/Vx80pKW お題 m×nマスのチェス盤を考える。 1つのナイトが最も左上のマスにあり、そこから任意の回数動かすことができる。 ナイトが訪れることのできるマスの個数を求めよ。 m=1, n=1 => 1 m=3, n=3 => 8 (真ん中のマスを訪れることができない) m=4, n=4 => 16 http://mevius.5ch.net/test/read.cgi/tech/1549160513/615
616: デフォルトの名無しさん [sage] 2019/03/11(月) 19:36:35.88 ID:DXpwYxNa >>614 説明がないと何をどうやってるのかわけわからん。 先ずは入力と出力をどう解釈して作ったのか? 形にも一貫性があるとは思えないけど。 しかしこんなのがどんどん出てきたら、煩わしいだけ。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/616
617: デフォルトの名無しさん [sage] 2019/03/11(月) 20:02:17.74 ID:JmszPBJl いや、その通りに歩くんだろ http://mevius.5ch.net/test/read.cgi/tech/1549160513/617
618: デフォルトの名無しさん [sage] 2019/03/11(月) 20:07:58.88 ID:5vEtkzIB 出題通り以外の回答はやめてほしいな。 それ以外の回答をする場合は、解説文も日本語で書いてくれよ。 不慣れなプログラムもあることだろうし、長いプログラムなんて見る気にもならないし、プログラムを見ればわかるというのは無し。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/618
619: デフォルトの名無しさん [sage] 2019/03/11(月) 21:26:59.93 ID:ALw/TkKR >>618 ソースの中身まではちゃんと確認してないけど、ちゃんと出題通りにできてると思う。 出題の"入力例"通りではないが、複雑な入力パターンに対して正しく動いてそうと思える実行例だと思うぞ。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/619
620: デフォルトの名無しさん [] 2019/03/11(月) 21:31:45.37 ID:1OBeL2+Y >>601 Common Lisp, >>614の移植 https://ideone.com/B76Dki http://mevius.5ch.net/test/read.cgi/tech/1549160513/620
621: デフォルトの名無しさん [sage] 2019/03/11(月) 22:12:51.52 ID:+V1dboU8 >>>v<^^>> の場合 *^>> >^> *<v http://mevius.5ch.net/test/read.cgi/tech/1549160513/621
622: デフォルトの名無しさん [sage] 2019/03/11(月) 22:40:32.65 ID:6pdTomDX >>571 octave 複数列指定可能版 https://ideone.com/UqKcNb h = @(m, n) cell2mat(arrayfun(@(c, i) {['*'; c] [c; '*']}(1 + (i == n)), m, 1:numel(m))); ↓ h = @(m, n) cell2mat(arrayfun(@(c, i) {['*'; c] [c; '*']}(1 + any(i == n)), m, 1:numel(m))); http://mevius.5ch.net/test/read.cgi/tech/1549160513/622
623: デフォルトの名無しさん [sage] 2019/03/11(月) 23:02:42.18 ID:GdRfR4uu 以下の整形式の.ini ファイルから、すべての値を取得して、 「セクション名 : キー名 : 値」で表示する [sec1] key1=val1 [sec2] key2=val2 http://mevius.5ch.net/test/read.cgi/tech/1549160513/623
624: デフォルトの名無しさん [sage] 2019/03/11(月) 23:51:36.77 ID:/Vx80pKW >>623 C++ https://ideone.com/V4sf81 http://mevius.5ch.net/test/read.cgi/tech/1549160513/624
625: デフォルトの名無しさん [sage] 2019/03/12(火) 00:26:56.22 ID:XpXqAgCh >>623 Perl5 while (<DATA>) { $s = $1 if /\[(\w+)\]/; print "$s:$k:$v\n" if ($k, $v) = /(\w+)=(\w+)/; } __DATA__ [sec1] key1=val1 [sec2] key2=val2 実行結果 ~ $ perl 13_623.pl sec1:key1:val1 sec2:key2:val2 http://mevius.5ch.net/test/read.cgi/tech/1549160513/625
626: デフォルトの名無しさん [sage] 2019/03/12(火) 00:37:42.27 ID:XpXqAgCh >>625 も少し簡潔に書けるんだった… while (<DATA>) { $s = $1 if /\[(\w+)\]/; print "$s:$1:$2\n" if /(\w+)=(\w+)/; } __DATA__ [sec1] key1=val1 [sec2] key2=val2 http://mevius.5ch.net/test/read.cgi/tech/1549160513/626
627: デフォルトの名無しさん [sage] 2019/03/12(火) 01:38:34.08 ID:nghHbW0D >>623 javascript(es2018 named capture groups) ` [sec1] key1=val1 [sec2] key2=val2 `.replace(/\[(?<section>.+)\]\n(?<key>.+)=(?<value>.+)\n/g, '$<section>:$<key>:$<value>').trim(); 結果: sec1:key1:val1 sec2:key2:val2 http://mevius.5ch.net/test/read.cgi/tech/1549160513/627
628: デフォルトの名無しさん [] 2019/03/12(火) 05:56:44.85 ID:KPetEW8/ >>547 Haskell import Data.Char main = (mapM_ print.filename) ["a","aB.txt","Ab.txt","xx","aBc.txt","cd","cD","CD","ab.txt","z"] filename [] = [] filename (xs:xss)| length a > 1 = a:filename b where a = func (==) b = func (/=) func f = filter (f (map toUpper xs).map toUpper) (xs:xss) filename (_:xss) = filename xss http://mevius.5ch.net/test/read.cgi/tech/1549160513/628
629: デフォルトの名無しさん [sage] 2019/03/12(火) 17:03:25.03 ID:+VdOvnK/ >>615 0 <= m,n <=10億 と仮定して int64_t cal(int m, int n){ if( m>n ) swap(m, n); if( m<=1 ) return m; if( m==2 ) return (n + 1) / 2; if( n==3 && m==3) return 8; return (int64_t)n * m; } http://mevius.5ch.net/test/read.cgi/tech/1549160513/629
630: デフォルトの名無しさん [] 2019/03/12(火) 18:21:10.69 ID:MLSq27aG >>623 Io f := method(s, s split("\n\n")map(splitNoEmpties("[","]","\n",=")join(":")) ) http://mevius.5ch.net/test/read.cgi/tech/1549160513/630
631: デフォルトの名無しさん [] 2019/03/12(火) 18:30:10.82 ID:M/w6PjEF >>619 出題通りなのかどうかがわからんのだが。どう解釈したら出題通りとなるのか? http://mevius.5ch.net/test/read.cgi/tech/1549160513/631
632: デフォルトの名無しさん [sage] 2019/03/12(火) 19:26:28.38 ID:mUEXbKn8 お題 数列a[i]を考える。 a[0] = p a[i+1] = q * a[i] + r [入力] p q r n (p,q,r,nは整数) (0≦p,q,r≦99) (0≦n≦10^10) [出力] a[n] mod 13 を求めよ 1 2 0 8 => 9 (2^8 mod 13) 1 0 99 0 => 1 1 2 3 2 => 0 (a[0]=1, a[1]=2*1+3=5, a[2]=2*5+3=13) 1 3 5 10000000000 => ? http://mevius.5ch.net/test/read.cgi/tech/1549160513/632
633: デフォルトの名無しさん [sage] 2019/03/12(火) 20:52:19.49 ID:2hm/Dong つまらん http://mevius.5ch.net/test/read.cgi/tech/1549160513/633
634: デフォルトの名無しさん [] 2019/03/12(火) 21:03:21.90 ID:KPetEW8/ >>619 >>547に対して、ナチュラルソートされて無くても(普通のソートでも正しい答えが得られるとは限らない)正しい答えを出せるとか、出題者の意図を踏まえながら、意図を超えた範囲もカバーするのはいいんじゃ無いか? 意図を無視するのは論外だが。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/634
635: デフォルトの名無しさん [] 2019/03/12(火) 21:07:56.58 ID:KPetEW8/ >>632 マシンパワーがあれば式を入れればいいだけってのはね。。。 解くのに頭使う。解いてみたら案外簡単(アルゴリズムが浮かぶのがキモ)。あえて難しくて最適化の道がある。とかが望ましい。 いあ、無茶振りだろうから、どれか2つ満たせればおkだが。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/635
636: デフォルトの名無しさん [] 2019/03/12(火) 21:12:06.00 ID:KPetEW8/ 例えば[[1,2,3],[4,5,6],[7,8,9]]みたいな任意のn*nなリスト(または配列)を非破壊的に作れ。とか。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/636
637: デフォルトの名無しさん [sage] 2019/03/12(火) 21:43:25.40 ID:rf03pH6k >>636 一般的なミューテートするカウンタも使っちゃダメってことかな? http://mevius.5ch.net/test/read.cgi/tech/1549160513/637
638: 623 [sage] 2019/03/12(火) 22:49:08.83 ID:oX4bYoPv >>623 お題を修正 [ ] = の3つは、特別な記号です。 それらを含まない行は、無視して [sec1] key1=val1 [sec2] key2=val2 x=y >>627 セクション名・キー名・値は、特定の文字列ではありません! 特別な記号以外の、任意の文字列です http://mevius.5ch.net/test/read.cgi/tech/1549160513/638
639: デフォルトの名無しさん [sage] 2019/03/12(火) 23:03:23.82 ID:oX4bYoPv お題 現行規格のISBN (ISBN-13) のcheck digit は、JANコードと同じく、 「モジュラス10 ウェイト3・1(モジュラス10 ウェイト3)」という計算法にて算出される 一番右側の? の所のcheck digitを除いて、数字以外は無視して、 一番左側の桁から順に、1、3、1、3…を掛けて、それらの和を取る。 和を10で割って出た余りを、10から引く。 ただし、10で割って出た余りの下1桁が0の場合は、check digitを0とする ISBN 978-4-10-109205-? 9×1 + 7×3 + 8×1 + 4×3 + 1×1 + 0×3 + 1×1 + 0×3 + 9×1 + 2×3 + 0×1 + 5×3 = 9 + 21 + 8 + 12 + 1 + 0 + 1 + 0 + 9 + 6 + 0 + 15 = 82 82 ÷ 10 = 8 あまり 2 10 - 2 = 8 幾つかのISBN-13 で、計算してみて! http://mevius.5ch.net/test/read.cgi/tech/1549160513/639
640: デフォルトの名無しさん [sage] 2019/03/12(火) 23:07:31.93 ID:+VdOvnK/ >>632 https://ideone.com/Y4N5oM c++ 小さい数値は力技(bf2)で確認してみたが…… http://mevius.5ch.net/test/read.cgi/tech/1549160513/640
641: デフォルトの名無しさん [] 2019/03/12(火) 23:27:43.44 ID:LDiZRGdZ >>601 Common Lisp >>620のリファクタリング ついでに * を空白に、開始地点を A、終了地点を Z にしてみた https://ideone.com/zMHal6 Python https://pastebin.com/NAGHLtcu 実行結果 https://webmshare.com/Ma3gZ http://mevius.5ch.net/test/read.cgi/tech/1549160513/641
642: デフォルトの名無しさん [] 2019/03/12(火) 23:42:34.93 ID:2FAQzMGK >>632 C https://ideone.com/m3vejt エクセルとかで実際に数列を計算してみると、長さ12(剰余の数-1)以下の周期になるっぽいのでそれで求められる。 普通に計算するとq * a[i] + r はどんどん大きくなるけど、 毎回 (q * a[i] + r) mod 13としても、計算に影響はないようなので、オーバーフローもせずに計算できる。 だたし、数学的に正しいか保証しかねるが。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/642
643: デフォルトの名無しさん [sage] 2019/03/13(水) 00:12:22.73 ID:rGhbMCbu >>640 12 0 11 1 => 11 というコーナーケースが… http://mevius.5ch.net/test/read.cgi/tech/1549160513/643
644: デフォルトの名無しさん [sage] 2019/03/13(水) 00:29:04.16 ID:Eq+ygVqk >>643 確かに、 コメントアウト(bf2)するときに誤ってしまったようだ、 ("if(n==0)" だったのだが、いらないなぁ) どっちにしろ、0や1のテストは、やってない http://mevius.5ch.net/test/read.cgi/tech/1549160513/644
645: デフォルトの名無しさん [] 2019/03/13(水) 00:51:17.73 ID:vPzmbHWs >>637 だめ。 そこが関数型言語と手続き型言語の考え方の大きな違いだし。 皮肉にも?それ作った時、入門書の関数より考え方の違いが分かった。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/645
646: デフォルトの名無しさん [sage] 2019/03/13(水) 00:54:41.38 ID:bUFEpZHr >>638 > セクション名・キー名・値は、特定の文字列ではありません! > 特別な記号以外の、任意の文字列です えぇ… 入力: [あああ] いいい=ううう [えええ] おおお=かかか 出力: あああ:いいい:ううう えええ:おおお:かかか 少なくとも任意の文字列には対応してるじゃん。不当指摘だ! http://mevius.5ch.net/test/read.cgi/tech/1549160513/646
647: デフォルトの名無しさん [sage] 2019/03/13(水) 01:18:15.16 ID:FktqEJYT >>645 javascript const seqSqArr = n => Array.from({length: n}).map((v, i) => Array.from({length: n}, (v, j) => n * i + j + 1)); console.log(seqSqArr(3)); //=> [[1,2,3],[4,5,6],[7,8,9]] console.log(seqSqArr(7)); //=> [[1,2,3,4,5,6,7],[8,9,10,11,12,13,14],[15,16,17,18,19,20,21],[22,23,24,25,26,27,28],[29,30,31,32,33,34,35],[36,37,38,39,40,41,42],[43,44,45,46,47,48,49]] http://mevius.5ch.net/test/read.cgi/tech/1549160513/647
648: 623 [sage] 2019/03/13(水) 02:39:20.04 ID:ZImJqTUY >>646 スマン。漏れの間違い! key, val などの特定の文字列を置換しているのかと、勘違いしていた http://mevius.5ch.net/test/read.cgi/tech/1549160513/648
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 354 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s