- 1 名前:デフォルトの名無しさん mailto:sage [2019/11/17(日) 09:00:22.10 ID:xqEdXdr6.net]
- プログラミングのお題スレです。
【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 結果がある場合はそれも 【ソースコードが長くなったら】 (オンラインでコードを実行できる) https://ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode https://runnable.com/ https://code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part15 mevius.5ch.net/test/read.cgi/tech/1564310397/
- 652 名前:デフォルトの名無しさん [2020/01/17(金) 12:14:19.25 ID:onsz9c/m.net]
- >>629
16, 7: 0 0 1 0 0 1 0 0 1 17, 9: 0 0 0 0 0 1 1 0 1 18, 26: 1 1 0 1 1 1 0 0 0 19, 27: 1 1 0 0 1 1 0 1 0 20, 31: 1 1 0 1 1 0 0 1 0
- 653 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 18:26:22.50 ID:KcAYJrW8.net]
- >>632
C++ https://ideone.com/A0BeSs
- 654 名前:デフォルトの名無しさん [2020/01/17(金) 20:33:32 ID:VgNyCBhj.net]
- >>635
正解。 Rによる2種類の解答例 (1) https://ideone.com/7B7IhY (2) https://ideone.com/Y8jx8o (1)は等比数列の総和の公式を利用しているので分かりやすいが、途中計算の最大値が (20200130 * 1000000 - 1) ^ 2 ≒ 2 ^ 88.4 になるかも知れず、64ビット整数の 範囲に収まらないため、Cでは手軽に書けない。Rでは多倍長整数パッケージgmpを 使って書ける。 (2)は部分和をちまちま足していく方式で、途中計算の最大値が (1000000 - 1) ^ 2 ≒ 2 ^ 39.9 で済むため、Cでも64ビット整数で計算できる。Rでも多倍長計算が必要な (1)より速い (正味の実行時間が(1)は0.016秒、(2)は0.004秒)。
- 655 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 21:12:46 ID:KcAYJrW8.net]
- お題
f(n) = n^1 + n^2 + ... + n^n の時 f^20200117 (20200117) の下9桁を求めよ ※ f^n (x) = f(f(f(....f(x)))...) 【fがn個】
- 656 名前:デフォルトの名無しさん [2020/01/18(土) 00:45:25.84 ID:meR2Lc88.net]
- >>629
Java https://paiza.io/projects/Qbx2Q0ZIlXetvF51BwoF_w
- 657 名前:デフォルトの名無しさん [2020/01/18(土) 05:21:08 ID:et7QELfi.net]
- >>589 octave
a=primes(5000); a(a(1:100))
- 658 名前:デフォルトの名無しさん [2020/01/18(土) 22:25:47 ID:uIn7pF9I.net]
- >>637
https://ideone.com/WvoPeq Rでは時間が掛かりすぎるのでコンパイラ言語を使うが、C/C++だと出題者と同じで つまらないから、Fortranで書いてみた。nが奇数の場合にしか求められないし、 合っているかどうか分からない。
- 659 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 23:02:35 ID:/9q/+LXn.net]
- >>640
正解 C++ https://ideone.com/09pUlf 312500はどうやって求めました?
- 660 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 23:12:37.20 ID:/9q/+LXn.net]
- >>641だと偶数でもOKです
- 661 名前:デフォルトの名無しさん [2020/01/18(土) 23:31:05.83 ID:uIn7pF9I.net]
- >>641
時間は掛かるがRで下9桁の値を順々にいくつか求めて配列rに記録してから、 プロンプトで any(duplicated(r)) や which(duplicated(r)) と入力して 周期性を見つけただけ。理論的な根拠はない。
- 662 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 23:34:38.18 ID:/9q/+LXn.net]
- thx
周期が既知なら mod(20200117, 312500) 回だけで済むのでは?
- 663 名前:デフォルトの名無しさん [2020/01/18(土) 23:45:49 ID:uIn7pF9I.net]
- >>644
まあそうだが、それではあまりにもマジックナンバーすぎるので、周期が本当に 312500であるかチェックするコードを31行目に念のため入れた。周期性が 確認できなければ、STOP Errorと表示してプログラムを中断する。
- 664 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 00:38:02.65 ID:msO9WicL.net]
- 【お題】
無向グラフGが入力として与えられ、Gがサイクルを持てば、 Gの中の最小サイクルの経路とそのコストを出力するプログラムをかけ *条件 ・グラフサイズ(頂点数)は10頂点程度(任意でよい) ・各辺の重みはランダムとする ・入力は隣接行列表現とする
- 665 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 08:33:00.83 ID:r8dbXOf2.net]
- お題: 文字列aの真ん中に文字列bを挿入する関数chopを定義しなさい
- 666 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 08:40:19 ID:dOSa/ZjO.net]
- >>647 Ruby
def chop(str); str.tap{|s| s[s.size / 2, 0] = ?b}; end puts chop('hogefuga') # => hogebfuga
- 667 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 08:42:44 ID:dOSa/ZjO.net]
- 問題誤読してた
def chop(a, b) a.tap{|s| s[s.size / 2, 0] = b} end puts chop('hogehoge', 'HOGE') # => hogeHOGEhoge
- 668 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 10:33:55 ID:9NcxNk8h.net]
- お題 (>>346)
1〜1000 の整数の内、3の倍数または5の倍数であるものだけを選んで、その合計を求めよ。
- 669 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 10:37:40 ID:9NcxNk8h.net]
- 3の倍数
[1000/3] = 333個 S(3) = 3+6+9+・・・・+999 = 333 * (3+999)/2 = 166833, 5の倍数 [1000/5] = 200個 S(5) = 5+10+15+・・・・+1000 = 200 * (5+1000)/2 = 100500, 3の倍数かつ5の倍数 (15の倍数) [1000/15] = 66個 S(15) = 15+30+45+・・・・+990 = 66
- 670 名前: * (15+990)/2 = 33165,
∴ S(3) + S(5) - S(15) = 100500 + 166833 - 33165 = 234168. [] - [ここ壊れてます]
- 671 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 13:04:07.51 ID:CR4NZ4aH.net]
- 15の倍数含めないんじゃないの?
https://paiza.io/projects/EeMOFbswluii2y-uytbeqA
- 672 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 18:23:22 ID:t01ujcAX.net]
- >>629 Perl5
use List::Util qw{max}; $W = 20; $n = @wv = ([3, 5],[5, 6],[6, 3],[3, 5],[5, 9],[2, 1],[7, 5],[4, 6],[8, 3]); @w = map{$$_[0]} @wv; @v = map{$$_[1]} @wv; $wt[$n][$_] = 0 for 0..$W; for ($i = $n - 1; $i >= 0; $i--) { for $j (0..$W) { $ws = $wt[$i + 1][$j]; $ws = max($wt[$i + 1][$j - $w[$i]] + $v[$i], $ws) if $j >= $w[$i]; $wt[$i][$j] = $ws; } } print "価値合計最大: $wt[0][$W]\n"; $j = $W; for $i (0..$n-1) { $ws = $wt[$i][$j]; if ($wt[$i + 1][$j] != $ws) { print "[$w[$i], $v[$i]] "; $ws -= $v[$i]; for (; 0 <= $j; $j--) { last if $wt[$i + 1][$j] == $ws; } } } $ perl 16_629_nsp_dp.pl 価値合計最大: 31 [3, 5] [5, 6] [3, 5] [5, 9] [4, 6]
- 673 名前:デフォルトの名無しさん [2020/01/19(日) 20:22:32 ID:MJwntUeD.net]
- >>652
PowerShellには論理XOR演算子があるので簡潔に書けるな。 (1..1000 |? {$_ % 3 -xor $_ % 5} | measure -sum).sum -- 実行結果 -- 201003
- 674 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 21:28:24 ID:RfLx+x9F.net]
- >>652
なぜそう思った?
- 675 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 21:32:35 ID:CR4NZ4aH.net]
- >>655
だけ と強調してたから15を含めない意図があったのかと思った
- 676 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 21:35:30 ID:RrNuywTU.net]
- 「3の倍数または5の倍数であるものだけ」という文言をそう理解するのは宇宙でお前だけだと思う
- 677 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 22:24:05 ID:RfLx+x9F.net]
- 妊娠してるか体が不自由な人だけ使ってください
- 678 名前:デフォルトの名無しさん mailto:sage [2020/01/19(日) 23:13:47.04 ID:xkwic4JQ.net]
- >>658
妊娠してる障害者はすわれないやんけ!
- 679 名前:デフォルトの名無しさん [2020/01/20(月) 07:26:08 ID:MadDRkAO.net]
- 日本語の選択が排他的かどうかは状況しだいだから難しいところだと思うけどね
レストランで「コーヒーか紅茶が付きます」と言えばどちらか一方でしょ ケースバイケース こう解釈したらこういうプログラムになるというふうに思考を広げることはできるっしょ
- 680 名前:デフォルトの名無しさん mailto:sage [2020/01/20(月) 08:18:28 ID:ItoFGwWk.net]
- それは選ぶ条件ではなく、選ぶ個数の問題
>>346は全て選ぶのが暗黙の了解 >>660は選ぶのが1個であるのが暗黙の了解 >>346も全てとは書いてないから 1個選ぶのか、任意の個数選ぶのか、全ての選び方の場合を求めるのか、などが考えられるのかも 誤解の可能性があるなら「全て選ぶ」と書かないとね
- 681 名前:デフォルトの名無しさん mailto:sage [2020/01/20(月) 10:07:25.78 ID:DzK/Jy6Q.net]
- 0個選んで答えは0
コンピュータ言語読み書きしてたらこういう 発想が自然に感じられるが 日常言語の世界ではナンセンス杉
- 682 名前:デフォルトの名無しさん mailto:sage [2020/01/20(月) 14:10:00.56 ID:gT/yNp+O.net]
- >651 のようにした
common lisp (loop for i from 1 to 1000 when (= (* (mod i 3) (mod i 5)) 0) sum i) 234168
- 683 名前:デフォルトの名無しさん mailto:sage [2020/01/20(月) 15:41:16.18 ID:/G9h8LiI.net]
- >>651 Ruby
def si(n,m); n.step(m,n).inject(:+); end p n3 = si( 3, 1000 ) #=> 166833 p n5 = si( 5, 1000 ) #=> 100500 p n15 = si( 15, 1000 ) #=> 33165 p n3 + n5 - 2 * n15 #=> 201003
- 684 名前:デフォルトの名無しさん [2020/01/20(月) 21:4
]
- [ここ壊れてます]
- 685 名前:6:25.06 ID:eV9B9Eib.net mailto: >>629
Rで全探索 https://ideone.com/XDwD7C 物が9個しかないので512通りの組み合わせを全探索してもすぐ終わるし、 上のプログラムの2番目の問題のように、合計価値が最大となる組み合わせが 複数ある場合でもすべて挙げられるし、重さが小数や大きな整数の場合でも 同様に解けるから、全探索が時間的に可能なら全探索の方が良いんじゃないか? [] - [ここ壊れてます]
- 686 名前:デフォルトの名無しさん mailto:sage [2020/01/20(月) 22:42:22 ID:vyZs8dgX.net]
- >>665
問題の条件によって適した解法が変わる。 たとえば個数が高々十数個程度であっても、 個々の重さや価値の範囲が広く、詰め込める荷物のキャパが大きいとか、 整数でない場合は、動的計画法だと解けないが、ナイーブな解法なら解ける。 逆に個数が大きくて、個々の重さや価値、キャパがそれほど大きくない整数だと、 ナイーブな解法では時間がかかりすぎて解けないが、 動的計画法だと短時間で解ける。 条件によって適した解法を選択する。 >>653 は動的計画法の復習と最適解に至る経路を逆にたどる復習のつもりで書いのよん。
- 687 名前:デフォルトの名無しさん mailto:sage [2020/01/20(月) 23:01:52 ID:kEPXORSp.net]
- 問題に適した解法なら>>631が最強
- 688 名前:デフォルトの名無しさん mailto:sage [2020/01/20(月) 23:10:30 ID:vyZs8dgX.net]
- (´・ω・`)「・・・・・」
- 689 名前:デフォルトの名無しさん [2020/01/21(火) 14:48:52 ID:/dftakVp.net]
- >>650
Kotlin script KotlinもBooleanのxor使えたよ。こういう場合は優先順位の問題で括弧が必要になるけどね。 println((1..1000).filter { (it % 3 == 0) xor (it % 5 == 0) }.sum())
- 690 名前:デフォルトの名無しさん mailto:age [2020/01/21(火) 16:44:59 ID:TMO7rdDn.net]
- !=でいんじゃ、、、
- 691 名前:デフォルトの名無しさん mailto:sage [2020/01/21(火) 21:56:37.25 ID:q8k+mYw1.net]
- ["A -> B" , "A -> D", "B -> E", "D -> E"]
を A B E D E このようにツリー状に表現する際に計算量が少ない書き出し方ってどうなりますか。言語問いません。
- 692 名前:デフォルトの名無しさん mailto:sage [2020/01/21(火) 21:57:01.85 ID:q8k+mYw1.net]
- スペースきえた…
- 693 名前:デフォルトの名無しさん mailto:sage [2020/01/21(火) 21:58:36.68 ID:5H3OckH4.net]
- D -> B のようなループできるかもね
- 694 名前:デフォルトの名無しさん [2020/01/22(水) 03:28:09 ID:HNO/xGn/.net]
- >>670
それを言っちゃあおしめえよ
- 695 名前:デフォルトの名無しさん mailto:sage [2020/01/22(水) 10:29:09 ID:Oj6zQLXh.net]
- >>671
データ構造がツリーじゃないのにツリー形式で表示するのは効率悪くない? 同じデータを何度も表示しちゃう
- 696 名前:デフォルトの名無しさん [2020/01/22(水) 11:00:25 ID:8VKZzbv1.net]
- >>671
dot
- 697 名前:デフォルトの名無しさん mailto:sage [2020/01/22(水) 19:16:47 ID:0ayd3B3Q.net]
- お題
>>671 において 入力文字列が20個以内で出力の行数が最大となる 入力文字列(を1個)を求めよ
- 698 名前:デフォルトの名無しさん mailto:sage [2020/01/22(水) 19:50:15 ID:k+w34kNu.net]
- ["A -> B" , "B -> A]
これで循環参照のチェックいれるコードがない再帰っぽい感じなら無限に出力だ
- 699 名前:デフォルトの名無しさん mailto:sage [2020/01/22(水) 19:55:17 ID:F1N+c+gr.net]
- 閉路と多重辺は無しで
辺の無い点も表現出来ないので無し
- 700 名前:デフォルトの名無しさん [2020/01/22(水) 20:19:19 ID:3jquT0bn.net]
- >>677
20個ならループしない限りは内容が何だろうが20行にしかならないのでは?
- 701 名前:デフォルトの名無しさん mailto:sage [2020/01/22(水) 20:23:02 ID:1i745hKi.net]
- 最大は21行だよ
- 702 名前:デフォルトの名無しさん [2020/01/22(水) 20:40:06 ID:3jquT0bn.net]
- あー。そうか。21だね。
- 703 名前:デフォルトの名無しさん mailto:sage [2020/01/22(水) 20:43:02 ID:F1N+c+gr.net]
- >>671に "E -> C" を加えると?
- 704 名前:デフォルトの名無しさん [2020/01/22(水) 21:13:37 ID:pXdYyKNl.net]
- >>671
Java https://paiza.io/projects/zVLPWkZWdFIgv8aDQjIn0Q
- 705 名前:デフォルトの名無しさん [2020/01/23(Thu) 01:12:44 ID:LqZxq9h8.net]
- >>683
分岐か。そうすれば増えるね。
- 706 名前:デフォルトの名無しさん mailto:sage [2020/01/23(Thu) 18:13:14 ID:AdSJ3UeH.net]
- [] 0行
["A -> B"] 2行 ["A -> C", "B -> C"] 4行 ["A -> D", "B -> D", "C -> D"] 6行 ["A -> D", "B -> D", "C -> D", "D -> E"] 9行
- 707 名前:デフォルトの名無しさん mailto:sage [2020/01/23(Thu) 18:45:00 ID:AdSJ3UeH.net]
- n≧12 の時、以下を四捨五入した行数になるかな
偶数 4 * exp(n*0.24060591252980172375) 奇数 4.0137530980362538594 * exp(n*0.24060591252980172375)
- 708 名前:デフォルトの名無しさん mailto:sage [2020/01/24(金) 23:55:14 ID:qxZ+oily.net]
- >>671 Perl5 (goto 関数を使っていますが、perl5ではこれはcontinuationです)
use feature qw{current_sub signatures}; no warnings 'experimental::signatures'; @sx = (A => B, A => D, B => E, D => E); sub { if (@_) { ($a, $b) = (shift, shift); push @lx, $a unless $h{$a}; push @{$h{$a}}, $b; $r{$b}{$a} = 1; goto __SUB__; } }->(@sx); @ax = grep{! $r{$_}} @lx; sub ($a, $d) { print "$d$a\n"; __SUB__->($b, "_$d") while $b = shift @{$h{$a}}; }->($_, '') for @ax; 実行結果 $ perl 16_671.pl A _B __E _D __E
- 709 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 02:34:16 ID:XZtTnZKV.net]
- >>646
サンプルデータも考えて、回答も作れと言われると めんどくさすぎてスルーされるんじゃまいか
- 710 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 02:36:37 ID:XZtTnZKV.net]
- つか、無向グラフの最小サイクル検出って
いいアルゴリズムあったっけ
- 711 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 06:09:52 ID:Fgzm1LAC.net]
- 最小サイクルとは?
コストが最小?通る辺の数が最小? コストとは? 通る辺の重みの和? 点のコストはゼロ? 出題者しかわからない前提が色々とあるお題
- 712 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 06:22:55 ID:Fgzm1LAC.net]
- >>688
gotoを使っちゃいけないローカルルールとかあるの?
- 713 名前:デフォルトの名無しさん [2020/01/25(土) 08:11:44 ID:O6wUvbi6.net]
- tsort(1) ?
- 714 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 10:35:48 ID:ZrgQFiPc.net]
- >>692
そんなルールはないけれど、制御構造の構文の代わりに安直に goto分岐を使ったヘッポココードではなくて、perl5のgoto 関数名構文が持つ continuationの機能を使って、動的環境を維持したまま末尾再帰的な loopを表現したと言いたかったのよ
- 715 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 10:38:39 ID:icKJvqvk.net]
- なるほど
お前はなかなかやるじゃねえか
- 716 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 11:05:32.17 ID:mLh1vP4R.net]
- お題
.bash_history には、入力したコマンドが、1行ずつ追記されていくが、 同じコマンドが出てくると面倒なので、古い(上にある)方をすべて消してください 入力 5 3 1 4 2 5 3 4 5 出力 1 2 3 4 5
- 717 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 11:14:27.65 ID:wxh/zNmo.net]
- >>696 Ruby
puts gets(p).split.reverse.uniq.reverse # => 1 2 3 4 5
- 718 名前:デフォルトの名無しさん [2020/01/25(土) 12:48:36.66 ID:dgvYVRBF.net]
- >>696
Java https://paiza.io/projects/UZnyFQFRa_Pad3yFKG-e9w
- 719 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 13:56:27.24 ID:yjSryLut.net]
- >>696 Perl5
$h{$_} = $. while <>; print for sort{$h{$a} <=> $h{$b}} keys %h; 実行結果 ~ $ cat .bash_history 5 3 1 4 2 5 3 4 5 ~ $ perl 16_696.pl .bash_history 1 2 3 4 5
- 720 名前:デフォルトの名無しさん [2020/01/25(土) 18:59:55 ID:xXb4DuHd.net]
- >>696
https://ideone.com/PtMPWn RのuniqueにはfromLastオプションがあるので、revによる前後処理が不要。
- 721 名前:デフォルトの名無しさん [2020/01/25(土) 19:19:17 ID:i4ScOGkF.net]
- >>696 Ruby
a=STDIN.readlines puts a.select.with_index{|v,i| i==a.rindex(v)}.join
- 722 名前:デフォルトの名無しさん mailto:sage [2020/01/25(土) 19:26:44 ID:eYyvJiZZ.net]
- >>696 .bashrc
HISTCONTROL=erasedups:ignorespace ついでに HISTIGNORE="history*"
- 723 名前:デフォルトの名無しさん [2020/01/25(土) 20:22:19 ID:J6xo1Vbp.net]
- >>696 Emacs Lisp
(with-temp-buffer-window #1="*odai-pt16-696*" nil nil (switch-to-buffer #1#) (insert-file-contents "~/.bash_history") (delete-duplicate-lines (point-min) (point-max) t))
- 724 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 00:01:21 ID:4S7WZkam.net]
- >>701 ナイス
- 725 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 00:02:23 ID:4S7WZkam.net]
- >>704 アンカーしくった
>>702 ナイスはこっちだた
- 726 名前:696 mailto:sage [2020/01/26(日) 00:35:54.22 ID:2jcz6vHU.net]
- >>702
スレ違いで、スマンが、 erasedups で、現在の行と一致する履歴を、保存前にすべて削除するけど、 WSL, Ubuntu 18.04, bash では、削除されなかった! これは難しい tmuxとかの仮想端末で複数の画面間で、Bashのコマンド履歴を共有すると、 同じ履歴が何度も記録されてしまう問題を解決する https://piro.sa@kura.ne.jp/latest/blosxom/webtech/2018-03-04_history-nodup-with-tmux.htm
- 727 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 01:20:33.64 ID:4S7WZkam.net]
- >>706
モチツケ
- 728 名前:696 mailto:sage [2020/01/26(日) 01:39:31.40 ID:2jcz6vHU.net]
- history の仕組みが難しいから、
定期的に、ここのスクリプトで、履歴ファイルを上書きした方が良いかも
- 729 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 01:43:44.81 ID:HPdacZve.net]
- rubyXLでエクセルいじってるが
印刷範囲を設定したいときは、どのようにすればよいのでしょうか? いろいろ探しても見当たらず・・
- 730 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 02:08:32 ID:4S7WZkam.net]
- >>709
スレチ >>708 bashから.bash_profileの重複をなくすプログラムを実行しても logoutするときにbashが記憶しているコマンド履歴を.bash_profileに 上書きしちゃって、元の木阿弥になるんジャマイカ
- 731 名前:696 mailto:sage [2020/01/26(日) 05:19:41 ID:2jcz6vHU.net]
- >>710
>>706 のサイトに書いてあるけど、 .bash_history から重複を排除して、上書きする 次に、history -c && history -r -c で、メモリ上のコマンド履歴を削除して、 -r で、履歴ファイルからメモリへ、コマンド履歴を読み込む まだ、試してないけど
- 732 名前:696 mailto:sage [2020/01/26(日) 06:05:44 ID:2jcz6vHU.net]
- >>696
Ruby で作った。 コマンドは「ruby script.rb 入力ファイル名」 # ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル ary = ARGF.readlines # 1行ずつ配列に入れる # ! が付く破壊的メソッドは、メソッドチェーンしない! ary.reverse! ary.uniq! # 連続していないものも削除する ary.reverse! # 元に戻す print ary.join
- 733 名前:696 mailto:sage [2020/01/26(日) 06:21:48 ID:2jcz6vHU.net]
- >>711
の方
- 734 名前:法で、.bash_history から重複を排除できました! []
- [ここ壊れてます]
- 735 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 09:38:26 ID:6CyPsFJq.net]
- お題: 入力された整数を因数分解し、因数の数だけ「どんだけぇ〜♪」と表示せよ
in < 24 因数分解: 2 2 2 3 out > どんだけぇ〜♪ どんだけぇ〜♪ どんだけぇ〜♪ どんだけぇ〜♪
- 736 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 10:24:47.39 ID:mBsLdcGX.net]
- >>709
121 名前:デフォルトの名無しさん (ワッチョイ a763-gk0v)[] 投稿日:2020/01/25(土) 15:52:45.46 ID:WZ3Oswhu0 rubyXLでエクセルいじってるが 印刷範囲を設定したいときは、どのようにすればよいのでしょうか? いろいろ探しても見当たらず・・
- 737 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 10:35:06.75 ID:OyPCa8uu.net]
- >>714 Ruby
puts "どんだけぇ〜♪\n"*~-`factor`.split.size
- 738 名前:デフォルトの名無しさん [2020/01/26(日) 11:45:57 ID:pipfilQo.net]
- >>714
Java https://paiza.io/projects/xxDf_vUHslqz8TQt3YzIgg
- 739 名前:蟻人間 mailto:sage [2020/01/26(日) 15:31:19.81 ID:QR2U0M8L.net]
- お題: どこかの国に競馬があった。そこの競馬場のルールでは馬券一枚に対して単勝の馬一頭しか選べない。
その日の各ゲームのそれぞれの出場馬について、名前と勝率とオッズが掲示されている。 【今日の競馬】 ゲーム1: 馬A, 0.5, 2.0 馬B, 0.8, 1.2 馬C, 0.9, 0.2 ゲーム2: 馬D, 0.3, 4.0 馬E, 0.5, 3.0 馬F, 0.8, 1.4 予算50,000円で獲得期待金額が最大になるように馬券を購入せよ。馬券の購入において、小数点以下は切り捨てとし、馬券には税金が掛からないものと仮定する。
- 740 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 15:44:50.09 ID:uQg9mh+n.net]
- 勝率の和が1を越えてるけど勝率って言うのは勝つ確率のことではなくて何かしらの競馬用語なのか?
- 741 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/01/26(日) 15:46:20 ID:TOQ25Lx5.net]
- ここでは、払戻金の倍率(賭けた金が何倍になって払い戻されるか)のことをオッズと呼ぶことにする。払戻金は小数点以下切り捨てとする。
- 742 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 15:47:57 ID:uQg9mh+n.net]
- てよく見たらいつもの糞コテやん
解散
- 743 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/01/26(日) 15:55:46 ID:QR2U0M8L.net]
- >>719
馬の勝率はこれまでのレースで一着になった確率。
- 744 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 16:14:00 ID:jQnb27FW.net]
- 勝つ確率がわからないなら期待値もわからない
普通は買わないのが一番
- 745 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 16:45:22.64 ID:jQnb27FW.net]
- オッズ0.2って何?
- 746 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 17:18:30.67 ID:aRFw4TjA.net]
- 杜撰なお題だなw
- 747 名前:蟻人間 mailto:sage [2020/01/26(日) 17:19:13.36 ID:QR2U0M8L.net]
- >>724
勝つと20%戻ってくるという意味。
- 748 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 17:23:34.39 ID:uQg9mh+n.net]
- 100円の馬券が当たるとなんと20円に!
- 749 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 18:27:58.48 ID:jQnb27FW.net]
- >>718
ちゃんとしたお題にするつもりが無いなら取り下げて
- 750 名前:蟻人間 mailto:sage [2020/01/26(日) 18:40:41.46 ID:TOQ25Lx5.net]
- >>718 >>728
取り下げます。もっと良いお題を考えて下さい。
- 751 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 18:56:39.39 ID:OTxXTlwF.net]
- >>714
初心者です JavaScriptです let n = 24; const factors = []; for(let i=2;i<=Math.floor(n/2);i++){ if(n % i !== 0) continue; for(;;) { n /= i; factors.push(i); if(n % i !== 0) break; } } for(let i=0; i<factors.length; i++) { console.log('どんだけぇ〜♪') } って感じに書いたのですがどうも外側のループで i = 3 以上が実行されないらしく困っています もしかしたら初学者の自分にもできるかもしれないと思い取り組んでみたのですが… もしどなたかお知恵をお貸しくだされば嬉しいです
- 752 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 19:03:07.14 ID:uQg9mh+n.net]
- >>730
for(let i=2;i<=Math.floor(n/2);i++){ を const sup = Math.sqrt(n); for(let i=2;i<=sup;i++){
|

|