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/
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++){
753 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 19:09:59 ID:OTxXTlwF.net] >>731 ありがとうございます!動きました 何かとんでもない思い違いをしていたみたいで恥ずかしい…
754 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 19:18:27 ID:9QNAjmQu.net] n % i !== 0
755 名前:デフォルトの名無しさん [2020/01/26(日) 19:23:55 ID:pipfilQo.net] >>729 ビルの回数Nを引数として受け取って次の問題を解くプログラムを作ってください N階建てのビルのある階から卵を落とします。 卵はある階よりも低ければ割れることはなく、ある階よりも高いと割れてしまう。 今、あなたは卵を2つ持っています。 卵が何階で割れるかを調べるもっとも効率のよい方法は何ですか? そして、その方法で必要な卵を落とす回数は最大で何回ですか?
756 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 19:26:53 ID:TCoNMy8F.net] 2分探索じゃだめか?
757 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 19:40:43.12 ID:yXTxN+fl.net] >>714 C++ イデオン揚げるの面倒なのでべた書きしておくわ。 半月ぶり位にコード書いたけど、やはり良いね。 #include <iostream> #include <cstdint> int main() { std::uintmax_t N = 24; while (std::cin >> N) { for (std::uintmax_t i = 2; i <= N; i++) { while (N % i == 0 && N != 0) { N /= i; std::cout <<i<< ":どんだけー。" << std::endl; } } std::cout << std::endl; } return 0; }