1 名前:デフォルトの名無しさん mailto:sageteoff [2015/10/07(水) 20:19:06.64 ID:c4LYwtKo.net] プログラミングのお題スレです。 前スレ プログラミングのお題スレ Part7 peace.2ch.net/test/read.cgi/tech/1429195275/ 【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 【ソースコードが長くなったら】 (オンラインでコードを実行できる) ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode runnable.com/ code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。
554 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 01:55:05.38 ID:ifKGTnOo.net] まぁ、ぼやっと思う感じでは、 1、ファイルAソート。時間で。 2、ファイルBソート。時間で。 3、両方を別バッファに取り込み。 4、一本化バッファ作成。 5、バッファA[i]の時間とバッファB[j]の時間を比較。 6、小さいほうを一本化バッファの後ろに追加。 7、追加したほうのインデックサをインクリメント。追加しなかった方はそのまま。 8、5にループ。 9、余ってるほうを全部突っ込む。 end。 って感じに思えるが。メンドクセー。
555 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 02:35:16.23 ID:xbYmT3r1.net] >>542 ソートしてダメならプログラムでやる意味ないじゃん よくわからんお題だな
556 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 08:12:11.46 ID:a+kSsv7i.net] >>540 二つのファイルをマージするとどんなメリットがあるの?
557 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 13:48:43.10 ID:kOUAeqMS.net] とりあえずそのファイルをどこかに置いて見れるようにしとけよ。話はそれからだ。
558 名前:デフォルトの名無しさん mailto:sage [2016/06/26(日) 14:42:47.48 ID:VC0ezbuZ.net] >>540 発生開始時刻と発生終了時刻の相加平均値でソートしてはどうでしょうか?
559 名前:デフォルトの名無しさん mailto:sage [2016/06/28(火) 21:40:42.79 ID:JU4eR3PY.net] レス遅れてすまんが、お題としてはイマイチだったかな ttp://www.opensubtitles.org/ja/subtitleserve/sub/5904174 ttp://www.opensubtitles.org/ja/subtitleserve/sub/6525137 >>546 英語の練習がしやすい
560 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 02:19:12.68 ID:sVTYBpM+.net] タダの準備不足。 人を動かす材料が足りない。
561 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:31:32.20 ID:OPqpBspr.net] そうか。すまんかった
562 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:49:35.70 ID:frOOdHyw.net] 入力だけじゃなく出力も提示しないとわからんよ
563 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 21:08:39.04 ID:KvQk5E4z.net] >>540 JAVA ソース ttp://ideone.com/vxIcvL jarなど ttp://www1.axfc.net/u/3686951.zip
564 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 11:21:22.75 ID:ALuHk1mL.net] レスがつかないのでいいのか悪いのかさっぱりわからん 無責任なやつだな
565 名前:デフォルトの名無しさん [2016/07/21(木) 20:01:41.38 ID:rb76Qzme.net] お題: いくつかの非負整数を区切り記号を略して書き並べてあります。 区切り記号の挿入箇所の組み合わせは全部で
566 名前:何通りありますか? [] [ここ壊れてます]
567 名前:デフォルトの名無しさん [2016/07/21(木) 20:05:24.57 ID:rb76Qzme.net] >>555 あれ、例が抜けてた↓ "150301" -> 18 "150031" -> 16 "015000" -> 8 "2432902008176640000" -> ?
568 名前:デフォルトの名無しさん mailto:sage [2016/07/21(木) 23:07:45.64 ID:8Nf0PhCE.net] >>555-556 C++ あってるかどうかは知らん ideone.com/F28LZS
569 名前:デフォルトの名無しさん [2016/07/22(金) 12:57:04.31 ID:M/7Z6G3a.net] >>556 ↓のような分割かと思ったが・・・ 0,15000 01,5000 015,000 0150,00 01500,0 0,1,5000 0,15,000 0,150,00 0,1500,0 0,1,5,000 0,1,50,00 0,1,500,0 0,15,0,00 …
570 名前:デフォルトの名無しさん mailto:sage [2016/07/22(金) 15:32:49.00 ID:JXjdchXx.net] >>555 C言語 ideone.com/rIkKvv 例からすると区切り無しも含むのですかね
571 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 06:35:51.96 ID:el9EgK1j.net] >>555 Haskell ideone.com/PsZ9vn
572 名前:デフォルトの名無しさん [2016/07/24(日) 23:19:04.90 ID:IHR53C+P.net] 久しぶりにこのスレ開いたけど 何か過疎ってね?
573 名前:デフォルトの名無しさん mailto:sage [2016/07/24(日) 23:34:50.13 ID:253cC3eo.net] 俺は最近はyukicoderとかpaizaとかでお題解いてるよ
574 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 03:46:54.86 ID:0UVAPYM3.net] 「プログラマ脳を鍛える数学パズル」 2016、技術書部門の大賞、受賞作 図書館では、予約している人が10人ぐらいいて、 とても読めそうにないので、今日、買ってきた Ruby, JS などで書いてある
575 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 11:19:50.57 ID:XvUIxyvW.net] >>555 ideone.com/r93ULh ideone.com/PrKxyj C++。数字が合わんがな。何か間違えてるかなぁ。 ルールの把握があいまいなのであってるか知らん。 もしかしたら、stringstreamでやってるwhileでカウントすればいいかもしれん。 それと対象ナンバーが64ビット超えたらたぶん動かない。 まぁいいや。せっかく作ったのでそれだけ認めてくれ。
576 名前:デフォルトの名無しさん mailto:sage [2016/07/28(木) 20:19:22.73 ID:IfzkZoT6.net] >>564 150301だったら 1,5,0,3,0,1 1,5,0,30,1 1,5,0,301 1,50,3,0,1 1,50,30,1 1,50,301 1,503,0,1 1,5030,1 1,50301 15,0,3,0,1 15,0,30,1 15,0,301 150,3,0,1 150,30,1 150,301 1503,0,1 15030,1 150301 の18通りだと思うけど
577 名前:デフォルトの名無しさん mailto:sage [2016/07/29(金) 03:27:05.93 ID:11+SH8DV.net] >>555 >>565 ideone.com/JHsovR ideone.com/gz38Ko C++。いじってみたけど、数字が合わず。何が間違ってるのかもわからない。 ルールを把握できないって、ぼけてきてるのかなぁ・・・。Orz 最近、思考してないし。
578 名前:デフォルトの名無しさん [2016/08/01(月) 04:25:27.15 ID:4Q/skcnH.net] >>555 Pythonの勉強がてらやってみました codepad.org/vszENnrW >>566 最も愚直な方法は考えられる分け方を全て列挙し、その中から認められない分け方を除外して数えればいい 1,5,03,01の03と01のように二桁以上で先頭が0であるような分け方は認められないと思われる
579 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 02:02:12.74 ID:YLg91Q2/.net] >>555 >>567 ideone.com/8TbvLG C++。やっと数字があった。 皆さま、愚かなワタクシメをお許しください。ラーメン。Orz
580 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 22:49:29.00 ID:K0guDqg3.net] >>555 >>567 ideone.com/ftx1M2 C++でさっくりと。 >>557 にあるファイルからの入力受け取る方法いいすね
581 名前:デフォルトの名無しさん [2016/08/09(火) 11:14:00.48 ID:92/o3tci.net] >>569 checkの返り値はboolなのにそのまま足しちゃうの?
582 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 03:08:08.02 ID:inQKn798.net] >>570 bool型はtrue=1,false=0なので次のコードは同じ if(flag)ans++; ans+=flag;
583 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 07:54:16.90 ID:rXBd1I+h.net] >>571 ん?
584 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 11:18:58.21 ID:eCSVoJoG.net] 三流のROM専だけど、trueはnot0と思ってたし、trueを数値として扱うのは違和感すごいの。
585 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 11:21:37.91 ID:eCSVoJoG.net] 少し訂正 boolを数値として使うのは違和感
586 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 12:30:53.29 ID:Gdje5e7d.net] 言語による。Cなら普通におk
587 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 12:35:35.23 ID:j6o9ee9V.net] 普通でもおkでもねえよw
588 名前:デフォルトの名無しさん [2016/08/10(水) 19:34:37.97 ID:87OBHkNz.net] c++のbool型のtrueは1 if文のtrueがnon0であることとbool型の定義は別ってことを理解していれば使っていいんじゃないの? ideone.com/s3uiYC
589 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:05:43.36 ID:6wlopmtf.net] じゃあ\0とNULLを混同して使っても(実際こんな人わんさといるけど)何も問題ないな
590 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:20:05.28 ID:R4BTC7dG.net] つか0(0x30)とNULL(0x00=\0)を混同だろ、お前まで間違えても何ら問題ない
591 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:22:43.02 ID:5BOEqgkW.net] Pythonのboolはintのサブクラスで数値演算に混ざっても警告やエラーなし 互換性捨てたPython3でもそのままでintから独立させる気配がない
592 名前:デフォルトの名無しさん [2016/08/10(水) 20:29:02.04 ID:sHDHYt88.net] 偽ではないものが真です。言語によって偽の定義が異なる。
593 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:48:14.92 ID:qB+vEzvD.net] if(韓国人の言うこと==true) return false; else if(中国人の言うこと==true) return false; else return true;
594 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 20:48:26.57 ID:O/fexyuH.net] >>576 C に bool はない,だから普通にOKだ,C99 はしらんが
595 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 21:08:56.81 ID:6wlopmtf.net] >>579 言ってるそばから混同してる奴が出て来たけど、 \0とNULLはまったく意味が違う。
596 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 21:12:11.66 ID:6wlopmtf.net] >>583 型としてboolはなくても真偽の概念はある。
597 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 21:23:29.03 ID:6bflnq0j.net] boolをintにキャストして使うとお前らが怒ることはわかった じゃあなんのためにキャスト出来るようになってるん?数値として扱うべきでないならキャストを禁止すべきだ
598 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 21:56:03.25 ID:6wlopmtf.net] >>586 別に目的があってキャストできるようにしてるわけじゃない。 単にif文等を機械語に翻訳する時に都合がいいからfalseを0にしてるだけ。
599 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 22:17:30.88 ID:aUoQ61q7.net] ブール値が無い、C89でも、実質的なブール値という概念がある。 真偽値を返す、比較演算 if(a == b) これを、if(int型)などと書くのは、MISRA-Cなどではコーディング規則違反 偽は0だが、真は0以外で、1とは限らないかも \0 は、NUL文字。文字列の最後に使う、番兵。 NULL は、無効なポインタで、0とは限らないかも
600 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 22:33:17.47 ID:20SNjYRS.net] C++なら問題ないよ 検索すりゃ分かるけどbool->intは0/1になることが言語仕様で決まってる
601 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 22:48:50.81 ID:6wlopmtf.net] >>589 だからそういう「問題」じゃないってばw そういう話ならNULLと\0も混同しても問題ないことになるよ。
602 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 23:10:16.36 ID:aUoQ61q7.net] まあ、0, 1 とか暗号みたいな数値は、使わない方がいい false, \0, NULL, 全ビット0 など、意図がわかるようにすべき
603 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 00:10:30.93 ID:yzOHsc1F.net] 「私」は「言語」として考えたらboolをboolとして使いたいし、intとしては無しだと思ってます。 でも「プログラミング」としては有りだと思ってます。 宜しければ、bool論争をここで終結としませんか?
604 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 09:47:35.13 ID:EgW5aVb5.net] return (韓国人の言うこと)?false:!中国人の言うこと;
605 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 10:23:51.85 ID:TQheNK/m.net] >>586 べつにキャストする必要はない
606 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 18:35:49.99 ID:5aKqGy8m.net] くだらないことで争ってんな 正しく動きゃいいんだよ、んなもん
607 名前:デフォルトの名無しさん mailto:sage [2016/08/12(金) 12:46:03.49 ID:W0ObG9Gv.net] これだから型安全でない言語は糞なんだよ
608 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 11:38:09.80 ID:uRifR0NT.net] YukiCoderたのしー。 3問目を解説見ながら解いた。 幅優先探索は苦手だ。Orz
609 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 19:57:07.32 ID:HA8B0Krx.net] 縦H横Wのマスの中に現れるa→b→cの順に辿れる道は全部で何通りあるか出力しなさい。 存在しない場合は-1と出力しなさい。 移動は縦横のみできる。斜めに移動はできない。 H==W、3<=(H,W)<=1000とする 問題例 --c- cab- cbac 答え 4 --c-|----|--c-|---- -ab-|----|--b-|-a-- ----|cba-|--a-|cb--
610 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 20:29:36.17 ID:itqO338w.net] >>598 問題例に不備があるじゃないか。
611 名前:デフォルトの名無しさん mailto:sage [2016/08/14(日) 21:16:51.46 ID:HA8B0Krx.net] 訂正 問題例 --c- cab- cbac ---- 答え 4 --c-|----|--c-|---- -ab-|----|--b-|-a-- ----|cba-|--a-|cb-- ----|----|----|----
612 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 01:18:23.97 ID:ATOVcA82.net] 全てのbの上下左右にあるaの数*cの数を足せば良いんだな。
613 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 05:08:48.91 ID:VvgCdVoy.net] >>598 >>600 ideone.com/AW6YTZ C++。Yukiだとサンプルしか通らなそうなコード。 まぁ、これが俺の地だしなぁ。 俺は俺にガッカリだよ。Orz
614 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 05:19:59.98 ID:VvgCdVoy.net] >>598 >>600 ideone.com/oUQbfM C++。>>601 メソッド?? ちょっとすっきりした。
615 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 13:40:01.81 ID:YWGtPoG/.net] お題 ズッカーマン数(Wikipediaより) ズッカーマン数(-すう、Zuckerman number)は自然数で、各桁の数字の総乗が元の数の約数 であるような数である。例えば315は各桁の数字の積が 3×1×5=15 であり、15は
616 名前:315の約数で あるので315はズッカーマン数である。 ズッカーマン数を最初から100個求めよ。 [] [ここ壊れてます]
617 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 13:49:14.49 ID:/RUSPZDT.net] 梅干し食べて... なんか力技でやるしかなさそうな感じだな
618 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 14:10:04.63 ID:VvgCdVoy.net] >>604 ideone.com/t6xXhj C++。あってるかな?
619 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 20:11:53.65 ID:NvOrOVSG.net] こんな感じでいいのか? ideone.com/NJ6rGr
620 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 20:38:01.87 ID:/9WWz1kS.net] なぜいいと思った
621 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 21:21:48.34 ID:cQHsobNS.net] C ideone.com/peczRr
622 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 01:56:24.06 ID:fBfaZTKr.net] >>604 F#勉強中@半年 https://paiza.io/projects/Zt_Tw1LaKtiB93Fi6dWkJQ Wikipediaに書いてある数字との照らし合わせはしました あと、paiza.ioのを貼るのは初めてなのでうまく貼れてるかどうか・・・ ちなみに、F#は主にyukicoderで鍛えてます、少しは分かってきたかも
623 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 02:08:11.71 ID:q0PyZcrj.net] >>598 >>601 のやり方で C言語 ideone.com/wkEP9Z >>604 C言語 ideone.com/Pxskoy
624 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 14:43:03.45 ID:9WgV32AQ.net] >>604 @Mathematica ideone.com/tq9juG
625 名前:デフォルトの名無しさん mailto:sage [2016/08/17(水) 08:55:07.31 ID:5k4XIPv4.net] >>604 Squeak Smalltalk | Zuckerman | Zuckerman := Generator on: [:g | 1 to: Float infinity do: [:n | (n isDivisibleBy: ((n asString asArray collect: #digitValue) reduce: #*)) ifTrue: [g yield: n] ] ]. Zuckerman next: 100
626 名前:デフォルトの名無しさん [2016/08/20(土) 20:32:51.59 ID:vgYTWLvl.net] >>604 Rubyで。 class Zuckerman # @param [Int] num チェック対象数値 # @return [Bool] true:入力値がズッカーマン数, false:ズッカーマン数でない def self.zuckerman num w = num.to_s .split(//) .map {|e|e.to_i} .reduce(:*) w == 0 ? false : num % w == 0 end def self.func1 cnt = 0 (1..Float::INFINITY).map { |e| (cnt += 1; p e) if self.zuckerman e break if cnt >= 100 } end end Zuckerman.func1
627 名前:デフォルトの名無しさん mailto:sage [2016/08/21(日) 01:56:15.80 ID:bS7dpt9A.net] プログラミングのお題で言語間のコード量競うってか いかに数学的アルゴリズムを考えるスレか?
628 名前:デフォルトの名無しさん mailto:sage [2016/08/21(日) 04:07:51.39 ID://fxd30H.net] 競プロの故郷じゃよ。なんて。 俺算数で解いてるんだぞ・・・。Orz
629 名前:デフォルトの名無しさん mailto:sage [2016/08/21(日) 07:18:31.83 ID:DtQd7MF/.net] 問題を解く早さ、 計算時間の速さ、 コードの短さ、 コードの美しさ、 色々あるね。
630 名前:デフォルトの名無しさん [2016/08/22(月) 00:07:09.67 ID:x59Y2UAa.net] お題 フィボナッチ数列の先頭に近い数字の合計が、入力値になるように求める。 入力値の例--->出力 1 ---> 1 2 ---> 1,1 3 ---> 1,2 4 ---> 1,3 5 ---> 1,1,3 6 ---> 1,2,3 7 ---> 1,1,2,3 8 ---> 1,2,5
631 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 00:37:32.44 ID:RW2M/REU.net] 30人の生徒がいるクラスで、同じ誕生日の子がいる、確立を求めて 1年を365日とする
632 名前:デフォルトの名無しさん [2016/08/22(月) 00:49:12.07 ID:3wW8ItwJ.net] >>619 「確立」は求められないけれど,「確率」なら求められる…というのはさておき, 同じクラスで誕生日が同じ子がいる確率の問題は, 森口繁一『応用数学夜話』 に解説があるのだが,その本が本の山の中に 埋もれていて,いま探し出せないのが残念。
633 名前:618 mailto:sage [2016/08/22(月) 01:14:27.85 ID:RW2M/REU.net] 1 - 全員が異なる誕生日である確率 で求めて
634 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 01:18:50.34 ID:38ySFfYc.net] ideone.com/54J6iS C++。数列に1を含んでいるので、例のようにやろうとすると全部1で分解しようとする。かも。 例がちょっと懇意なので、俺にはこれが限界やったわ。
635 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 01:27:31.25 ID:38ySFfYc.net] >>622 -> >>618 安価忘れた。
636 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 01:53:51.46 ID:38ySFfYc.net] >>619 >>621 ideone.com/BPf9XW C++。確率の問題なんてだーいきらい。あってるか知らんけど大体こんな感じか?
637 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 02:06:45.94 ID:P8rthkb+.net] >>621 を出された時点で理論的確率を求めて欲しいのは明らかだけど、それだとプログラムを組む意味がない 要するにスレチ
638 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 02:15:23.57 ID:38ySFfYc.net] >>625 算数でそれは無理なので、俺には無理だー。 ( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
639 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 02:31:12.36 ID:ze8O1aG1.net] >>625 いやいや、簡単な数式で表現できても人力で数値解を求めるのは 大変なんだから、それってまさに計算機の出番ではあるよ。 お題として楽しいかどうかは別にしてw
640 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 03:39:29.64 ID:PiS6AnEW.net] >>619 Java https://ideone.com/Qmn3oZ
641 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 03:55:16.97 ID:38ySFfYc.net] あ、勘違いしてた。>>624 の結果逆だ・・・。Orz
642 名前:デフォルトの名無しさん [2016/08/22(月) 10:05:22.23 ID:6SPK9Sy9.net] お題 やじろべえの左右の腕に交互に重りを吊るしていく ただし、左右の重りの重量差が10gを超えたらバランスを崩してしまう 重りの重量が順に与えられるので最後までバランスを保ったままかどうか判定せよ
643 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 10:32:46.57 ID:38ySFfYc.net] >>630 右と左を引き算してABS取ればいいのはわかるんだけど、重りのサンプル無いかい?
644 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 18:46:34.40 ID:FFKbVhI+.net] >>618 Common Lisp https://ideone.com/A0NXTP 64個でタイムアウト 遅すぎるよねこれ もっと速く解ける気がするけど分からなかった
645 名前:デフォルトの名無しさん [2016/08/22(月) 19:23:14.70 ID:3wW8ItwJ.net] >>619 森口繁一『応用数学夜話』(ようやく見付けました)によると、この問題は、von Misesとのことです。 結果だけ書くと、k人からなるクラスで誕生日がだれひとりとして同じにならない確率は (1/n^2):*(n!/(n-k)!) で、kはひとクラスjの人数、nは場合の数で、閏年を考えなければ n=365となります。 この本によると、この確率が0.5を超えるのは k=23 の時だそうです、つまり24人以上のクラスからなる学校では、 誕生日の重なるクラスが多くなるということになります。
646 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 22:39:24.73 ID:RW2M/REU.net] 24人で、0.5を超えるのか。不思議な感覚だな 漏れの感覚では、24人で、0.15ぐらい
647 名前:デフォルトの名無しさん [2016/08/23(火) 00:06:33.47 ID:nbfEIr8Y.net] >>618 DP? C言語 https://paiza.io/projects/NpNLBMGoxV-tDcmm4CycBQ https://out.paiza.io/projects/NpNLBMGoxV-tDcmm4CycBQ/output.txt
648 名前:デフォルトの名無しさん [2016/08/23(火) 00:26:56.57 ID:nbfEIr8Y.net] >>635 出力整形した https://paiza.io/projects/rXzmboNl1gbBZflK_j8BrA https://out.paiza.io/projects/rXzmboNl1gbBZflK_j8BrA/output.txt
649 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 05:09:43.19 ID:1XZ2ZUlZ.net] ideone.com/RLDrpn ベンチマークしようとしたら、先に出力エラーになった。
650 名前:デフォルトの名無しさん [2016/08/23(火) 13:54:31.44 ID:nbfEIr8Y.net] >>637 5,6,7は>>618 の結果と違うようだけど
651 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:03:36.67 ID:nbfEIr8Y.net] そうかフィボナッチ数列はすぐ大きくなるから項数はそんなに大きくならないからgreedyでもいいのか オーダーのことは未だよく分からないけど たぶんDPよりgreedyのほうがいいのかな? >>637 がgreedyで求めてたので何となくそう思いました
652 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:13:51.47 ID:nbfEIr8Y.net] >>639 あ、greedyだから題意を完全に満たさない結果になってるのか やはりメモ化探索か brute forceはキツそうだし
653 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:21:20.64 ID:1XZ2ZUlZ.net] >>638 ちょっとよくわからないけど、バグかなぁ。>>635 とかできてるしなぁ。 俺が悪かった。忘れてくれ。
654 名前:デフォルトの名無しさん mailto:sage [2016/08/23(火) 14:47:31.03 ID:nbfEIr8Y.net] 自分の解答>>635 >>636は題意を満たしてに可能性があるかも 先頭に近い数字という条件を 構成数が最も多くなるうち最初に見つかったものという勝手解釈したが そうじゃなく辞書順的に小さい数を含むほうを選択する必要あるなら構成数が最大になるとは限らないかも 俺も自分の解答>>635 >>636を取り下げます