1 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 16:58:30.97 ID:gTkHDluD.net] プログラミングのお題スレです。 前スレ プログラミングのお題スレ Part8©2ch.net echo.2ch.net/test/read.cgi/tech/1444216746/ 【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 【ソースコードが長くなったら】 (オンラインでコードを実行できる) ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode runnable.com/ code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。
856 名前:数の内面を有するという考えは絶対に存在する 一方で全てを表面でしかとらえない人の存在も否定できない [] [ここ壊れてます]
857 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 23:24:59.96 ID:BdlZ1dXv.net] このポエムをどうプログラミングしろと?
858 名前:デフォルトの名無しさん mailto:sage [2017/12/08(金) 03:20:08.11 ID:JkPU7Xcj.net] >>807 Ruby https://ideone.com/3BPK13 20秒程かかってしまう
859 名前:デフォルトの名無しさん [2017/12/08(金) 12:45:22.72 ID:lX5lg0SB.net] log2は>>801 でもできそうだ。 積の先頭ほど精度が必要で、無視できる上限・下限を積の位置で可変にするか、 最初の積の計算で必要な精度をすべてに適用するかでいけそう。
860 名前:デフォルトの名無しさん mailto:sage [2017/12/08(金) 14:42:05.63 ID:3hyL4NRS.net] >>817 これパクってstd::bitset<10001>でやったら動かないかな nextSetBitだけ作れば動きそう
861 名前:デフォルトの名無しさん mailto:sage [2017/12/08(金) 17:20:05.13 ID:qoqqt6pE.net] >>829 やってみた いろいろ怪しいが速度は強烈に速いな https://ideone.com/d4dU1Q
862 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 00:08:31.54 ID:NdkcUgXa.net] >>828 時間的に無理だろって話
863 名前:デフォルトの名無しさん [2017/12/09(土) 02:59:25.21 ID:C21Kkp0z.net] >>807 これでいいかな? Kotlin で書いた。しかしpaiza.ioの制限なのか、何故か import kotlin.math.* がエラーだったので java.lang.Math の関数を使っている。 https://paiza.io/projects/ImbYdf3NSWgW-zj8Ke6cDw
864 名前:デフォルトの名無しさん [2017/12/09(土) 09:05:25.04 ID:WAlxvB4a.net] お題 10,000以下の三角形数をもとめる
865 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 09:42:44.72 ID:HfcuYzyJ.net] >>833 三角数だよね? .js https://ideone.com/WZBIFF
866 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 10:35:24.71 ID:PLdtTEIG.net] >>833 ruby i,j=0,-1;p i while(i+=j+=1)<10000
867 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 21:40:06.26 ID:PLdtTEIG.net] >>833 Brainf**k ワンライナー(笑) https://ideone.com/TyMeco 遅すぎて8bitまでしか計算できなかった
868 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 23:46:47.87 ID:3TNSAl29.net] ideone.comはたいして最適化しないBrainf**k処理系だからな
869 名前:デフォルトの名無しさん [2017/12/10(日) 00:50:34.10 ID:J0bkBqjd.net] >>833 1+2+3+... だよね? じゃあこうだ。 perl -e '$i=0;$n=1;while(($i+=$n)<=10000){print"$i\n";++$n}'
870 名前:デフォルトの名無しさん [2017/12/10(日) 00:52:24.37 ID:J0bkBqjd.net] >>833 while じゃなくて for にするとこう。 perl -e 'for($i=0,$n=1;($i+=$n)<=10000;++$n){print"$i\n"}'
871 名前:デフォルトの名無しさん [2017/12/10(日) 08:00:18.20 ID:uc7Ht429.net] >833 R cat(cumsum(0:140))
872 名前:デフォルトの名無しさん [2017/12/10(日) 09:05:44.08 ID:gZDGKqrG.net] >>801 は精度管理の手間を考えたら、そのまま級数計算するのと大差ないと諦めたが。 こうすれば割り算の小数計算がほぼでないからいいのでは? 既に実装済? an = 1/n、r = 2として、Σ an/r^n を定数C倍したやつの整数部分の取り出し。 C*anを再びanとおく。 Σ an/r^n = a2/r^2 + a4/r^4 +・・・+ aN(2)/r^N(2) (添え字は2の倍数を動く) + a3/r^3 + a9/r^9 + a15/r^15 + ・・・+ aN(3)/r^N(3) + ap/r^p + ・・・+ aq/r^q + ・・・ (pは素数、qはp未満の数で割り切れないpの倍数) = 1/N(2)r^N(2) * ( N(2)*a2*r^(N(2)-2) + ・・・ + N(2)*aN(2) ) + ・・ この分子部分は、各項、整数でそのまま計算しても>>801 でも速くなるはず。
873 名前:デフォルトの名無しさん [2017/12/10(日) 21:52:17.18 ID:gZDGKqrG.net] >>841 は添え字に被りが出ていて間違えてた。
874 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 22:07:36.99 ID:XvO3Mos9.net] やってみて時間教えて
875 名前: [] [ここ壊れてます]
876 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 22:08:42.09 ID:XvO3Mos9.net] >>805 >>811 を抜ける?
877 名前:デフォルトの名無しさん [2017/12/10(日) 22:22:45.57 ID:gZDGKqrG.net] 秒数ではCPU依存するから正確に比較できない。 掛ける2だけのループを10^10回するだけでも19秒では終わらない。 無料のideone codepadなどの実行可能時間以内にできる範囲とか、 ベースとなる簡単なコード、関数の何倍時間がかかるかなどだと比較できるけど。
878 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 22:36:08.95 ID:3sNoocWL.net] 演算回数の見積りは?
879 名前:35歳 mailto:age [2017/12/11(月) 02:10:45.96 ID:OsSLt9Cy.net] Bronze取りました
880 名前:35歳 mailto:age [2017/12/11(月) 02:11:34.08 ID:OsSLt9Cy.net] Bronze取りました
881 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 04:58:28.24 ID:zs4BBX0s.net] くだらん話かも知れんけど 竹内関数のメモ化 https://ideone.com/sVhke1 これはC++によるものだけど、C++や他の言語でもっと高速に書く方法はあるか?
882 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 05:19:34.19 ID:zs4BBX0s.net] あ、ちなみにideoneの結果は間違っている 多分スタックオーバーフローしている 100, 50, 0の場合は答えは100
883 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 05:38:23.74 ID:pBTqvDfH.net] >>849 constexprにすれば実行時はほぼ計算無しにできると思う。 コンパイル時間半端ないけど。
884 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 05:45:19.55 ID:pBTqvDfH.net] ところで、いくらメモ化してても5回しか呼ばれないってことがあるのか?って気はする。
885 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 07:04:34.34 ID:pBTqvDfH.net] https://ideone.com/Y9WhRz 竹内関数constexprにしてみた。 ウチの環境だとこの辺のパラメータが限界っぽいかな。 100,50,0だとメモリ使い切るらしい。
886 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 07:09:30.00 ID:pBTqvDfH.net] あら、コンパイルエラーになっちゃった。 VCだと通ったんだけど。もちろんステップ数とか設定はいじってるが。
887 名前:デフォルトの名無しさん [2017/12/11(月) 08:32:22.37 ID:gAGFZ0s2.net] >>849 こんなのとか? たらいを回すならHaskella 2006年04月07日 22:09 blog.livedoor.jp/dankogai/archives/50447103.html
888 名前:デフォルトの名無しさん [2017/12/11(月) 12:03:51.37 ID:uZdMj4Ux.net] お題 6つの辺の長さが 与えられた4面体の体積を求める
889 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 13:07:53.63 ID:iSg/oyC4.net] お題 8つの辺の長さが与えられた超5面体の体積を求める
890 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 14:29:31.82 ID:hKbhSguL.net] お題 与えられた自然数を高々四個の四角数(平方数)の和で表せ
891 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 14:35:19.85 ID:k7Z6O4lr.net] >>856 Ruby https://ideone.com/qbHExm ただし四面体ABC-Dに対して入力の順序は AB BC CA CD DA BD とする
892 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 16:06:12.32 ID:k7Z6O4lr.net] >>857 8つだと多胞体が一意に定まらないと思うんだが
893 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 16:48:32.53 ID:qWzXCzKk.net] >>853 64bit環境でやったらスラッシング起きて\(^o^)/
894 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 16:53:24.07 ID:iSg/oyC4.net] >>860 じゃあ10個で
895 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 17:03:18.77 ID:k7Z6O4lr.net] >>862 10でも足りないと思うんだけどひょっとして超五面体って五胞体のつもりで言ってる?
896 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 17:31:58.31 ID:iSg/oyC4.net] 4次元の5胞体
897 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 17:32:53.55 ID:iSg/oyC4.net] 5C2=10
898 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 22:30:10.81 ID:pBTqvDfH.net] >>861 ウチはi6700メモリ8Gだな。20秒くらいボケーっとしてたらコンパイル完了する。 実実行より全然早い。
899 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 23:43:41.01 ID:jF/PrBtV.net] >>866 んー32bitでコンパイルしてみるかな 64bitはマジ卍ヤバい
900 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 00:19:40.23 ID:JpJzeAvs.net] >>866 悪い VCで /constexpr:steps 1000000を付けてコンパイルしたら4秒ほどでコンパイルが終わった 多分/MPも付けてるからだと思う 実行結果は25になった gcc 7.2.0 64bitだとどんどんメモリを食って行って最後にスラッシングが起きる 馬鹿正直な実装をしているからかも知れないね VCの方がいろいろとメモリを食わないように工夫されてるのかも Clangでも/constexpr:steps は -fconstexpr-steps という形でサポートされてるようだから 多分行けると思う メモリ64G積んでるし
901 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 01:27:56.58 ID:qpuoD4bc.net] >>868 いいマシーンだな。 まぁ、ウチはあれくらいで資源尽きちゃうけど、メモリ64Gもあったらもっと行けるな。 気が向いたらどうぞ。
902 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 04:08:00.08 ID:SvlIPxM4.net] >>858 Java https://ideone.com/ND4D2n
903 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 22:52:21.86 ID:38dJ/vud.net] 以下のURLのように、同じ色の点同士をつなぐゲームがある。 https://play.google.com/store/apps/details?id=com.bigduckgames.flow N×Mの2次元配列が与えられる。配列の各要素は半角英字('a'-'z')または'*'である。 半角英字は色付きの点を表し、'*'は空のマスを表す。 '*'以外の文字は、配列中に必ず2個ずつ存在する。 このパズルの解を一つ出力せよ。 ・'-'は左右のマスをつなぐ ・'|'は上下のマスをつなぐ ・'.'はマスをつながない 解がない場合は"No solution"と出力せよ。 [input] ***rg **bg* r**** ob*yo ****y [output] *-*-*-r.g |.......| *.*-b.g-* |.|...... r.*.*-*-* ..|.|...| o.b.*.y.o |...|.|.. *-*-*.*-y
904 名前:デフォルトの名無しさん [2017/12/15(金) 09:30:54.91 ID:gDuLBiTf.net] >>841 やってはないけど、そもそもこれ間違ってるのと、同じような発想でやるとしても 全ての素数での分類ではなく、3分割くらいのほうが効率がいいのと、 Σ (2の倍数) + Σ (3の倍数かつ2の倍数でない) + Σ (2と3で割り切れない) 分割する事もなく、N項の和だとしたらNの階乗か分数をなくせる最小公倍数かけてもいい。それだと掛け算もしくは割り算がいくつも出てくるが。
905 名前:デフォルトの名無しさん [2017/12/16(土) 14:04:43.43 ID:+Cq6iaDY.net] >>871 等幅フォントで表示しているエディタにコピペしてようやっと何を言わんとしているか分かった。 それってマスとマスの間に - または | を入れて繋ぐってことでいいんだよね? で、つながない所がピリオドだと。 (まあ等幅フォントのASCIIでやるならそれしか方法ないとは思うけど)。
906 名前:デフォルトの名無しさん [2017/12/16(土) 14:07:59.25 ID:+Cq6iaDY.net] しかしピリオドは ** ** の時に *.* ... *.* のようになって中央のピリオドが本来なら不要なものになるわけだが、それはスペースでなくても良いのかな? まあただの幅合わせだからどうでもいいものではあるが。
907 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:04:31.10 ID:V69L7+t+.net] >>801 の方法で出来ると書いてるけど 結局誰もやってないのか 個人的には(高速には)出来ないと思っている
908 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 12:18:14.72 ID:V69L7+t+.net] >>871 課題じゃなくて 単にソルバーの作成依頼でしょ
909 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 17:50:05.54 ID:3PMrWzl3.net] 無理に線引かないでrだのgだので埋めた方がわかりやすいと思うがな すべてのマスを埋めなければ
910 名前:ならないルールが抜け落ちてるみたいだから 実は別物のゲームで交差があるとかなったらそうはいかないが [] [ここ壊れてます]
911 名前:デフォルトの名無しさん [2017/12/17(日) 20:33:27.61 ID:0HU8GFa9.net] ブレゼンハム的なやつって、始点と傾き(と区間や境界等で決まる明示されない終点)が 与えられた際に、終点座標を求めてから始点に向かうのってアリなんだろうか?
912 名前:デフォルトの名無しさん [2017/12/18(月) 08:21:39.40 ID:T+ClDj4W.net] ここでやるには問題がでかすぎ 100分割してほしい
913 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 14:37:42.61 ID:/SOyyWKP.net] >>871 Ruby https://ideone.com/EOj9mz ただし解は1つでありかつ線が通らないマスは無いことを前提とする 問題はここから引用:→www.nikoli.com/ja/puzzles/numberlink
914 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 14:38:13.66 ID:/SOyyWKP.net] あ、あと出力方法は自分好みに適当にいじってる
915 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 15:58:54.33 ID:jrnuCabF.net] 訂正 ただし解は1つでありかつ線が通らないマスは無いことを前提とする ではなく 解が存在すればすべての解は全てのマスを通ることを前提とする
916 名前:デフォルトの名無しさん [2017/12/22(金) 19:30:58.88 ID:PPoMR9m8.net] お題 22の分割(たとえば3+3+5+8)のうち 分割したそれぞれの数の逆数の和が1になるものを求める
917 名前:デフォルトの名無しさん [2017/12/22(金) 19:39:05.90 ID:PPoMR9m8.net] 早速間違えましたすみません 3 +5 +6 +8 でした
918 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 20:06:25.02 ID:FRcsVGN9.net] >>883 ruby f=->n,k{n==1?[[k]]:(1..k/n).flat_map{|i|f[n-1,k-i].map{|j|[i,*j].sort}}.uniq} (1..22).each{|i|f[i,22].each{|a|p a if a.map{|e|1r/e}.sum==1}} #=>[2, 4, 8, 8] [2, 5, 5, 10] [3, 3, 4, 12]
919 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 21:21:23.60 ID:Mb+deFNF.net] C++で書いたけど、オセー。 デバッグ大変だ。 うーん。困ったなぁ。
920 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 22:04:05.10 ID:Mb+deFNF.net] https://ideone.com/3ZWKv1 C++。こんなコード書いてみたけど、無理ゲー。 ちょっと厳しいなぁ。最近解けてないなぁ。 ちなみにデバッグ不完全なのであしからず。
921 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 22:16:42.15 ID:cfNB9eDL.net] こういう数学的な問題を解くにはやっぱりプログラミング以前に数学を勉強した方がいいのでしょうか?
922 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 22:23:25.38 ID:Mb+deFNF.net] >>888 数学は大事だよー。 俺数学出来ないから、解けない問題がそれなりにある。 算数では限界だ〜〜。 まぁ、数学とプログラミングって習得時はオーバーラップするところが少ないから融合するまでちょっと大変かな。 でも数学は強力なツールです。
923 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 22:40:51.06 ID:wxhiocJz.net] 一般論でいえば必要だろうけど>>883 なんて全部列挙したところで計算量はたかが知れてるし 目下必要なのは論理学的思考能力なのでは
924 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 22:51:38.40 ID:rSDEoHGj.net] >>883 Java https://ideone.com/WiMkNl 22くらいなら大丈夫だけど桁が増えると(´・ω・`)
925 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 10:08:16.78 ID:t1pvAVGb.net] お題 52をいくつかの自然数に分解して それらの最小公倍数を最大化せよ
926 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 10:30:51.64 ID:NDYwz7Jw.net] 分解って、積じゃなくて和で良いんだよね? 数学の知識を使うと一瞬だけど
927 名前:デフォルトの名無しさん [2017/12/23(土) 10:47:21.72 ID:xQ13BTQc.net] >>892 2*3*5*7*11*23
928 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 10:51:04.98 ID:NDYwz7Jw.net] >>894 ダメだろ
929 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 10:54:01.61 ID:NDYwz7Jw.net] 数学の知識が無いなら素直にコンピューターの力を借りなさ
930 名前:い [] [ここ壊れてます]
931 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 11:07:49.77 ID:afY4COyy.net] そもそも数学で簡単にとけない問題を力わざでとくための計算機だろ
932 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 11:20:55.96 ID:2Y/dvvuZ.net] >>894 よくわからんが52の場合は 180180 [3, 4, 5, 7, 9, 11, 13] ということらしいぞ
933 名前:デフォルトの名無しさん [2017/12/23(土) 11:22:52.27 ID:TLP4YLw7.net] 2+3+5+7+11+13+11=52
934 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 11:23:44.11 ID:ZIVZRbx3.net] C++17発行されたから開発環境がさっさと対応してGCDくらい使えるようになりたい。
935 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 20:45:26.14 ID:PT43Bq9S.net] >>768 の問題で0<=b<10,0<c<10という制限がついた時 移動を何回か繰り返すと必ず元に戻るんだけど その回数はbには無関係にc,10-c,10の最小公倍数で okかな?
936 名前:デフォルトの名無しさん mailto:sage [2017/12/23(土) 23:54:31.73 ID:PT43Bq9S.net] 一回の移動ではd=1ね。 ま、その制限を付けなくともd,c,10-c,10の最小公倍数になるんだろうけど
937 名前:デフォルトの名無しさん mailto:sage [2017/12/24(日) 06:15:12.28 ID:C5ELqEVz.net] >>901-902 10-c,10の最小公倍数じゃね?
938 名前:デフォルトの名無しさん mailto:sage [2017/12/24(日) 12:14:01.21 ID:PCWcyI8B.net] >>899 >>896
939 名前:デフォルトの名無しさん [2017/12/24(日) 13:55:05.53 ID:aCkD6VOe.net] 数学云々言ってる奴って、何故かその成果見せないよな。 俺でも出来そうなFUD、いやマウントかな。
940 名前:デフォルトの名無しさん [2017/12/24(日) 16:16:06.49 ID:7ASFTRv4.net] ていうか、計算機はどちらかというと算数だよな。 数学は公式とか証明とか、そういう手順みたいなものを考えるわけで、プログラミングに近い。 コンピュータは作られたプログラムに従って計算結果を出すだけ。 もちろんプログラムそのものをコンピュータに作らせることも可能だけどね。これは次元が違う話だよね。
941 名前:デフォルトの名無しさん mailto:sage [2017/12/24(日) 20:21:20.17 ID:TJswah5E.net] プログラムには算数と三角関数とかがあればいい あとN進法
942 名前:デフォルトの名無しさん mailto:sage [2017/12/24(日) 22:49:45.08 ID:ke4WkGne.net] 行列演算とか諸々の配列操作関数がないと無理だな
943 名前:デフォルトの名無しさん mailto:sage [2017/12/24(日) 23:49:37.37 ID:HHMC0VFW.net] では簡単なお題を bを底とする値vを、2〜36進数に変換し表示してください。 なお、bは2〜36の整数、vは0以上の整数とし、不正な入力はないものとしてよい。 また、底と値の区切り文字は入出力ともに特に問わない。 [入力例] 16 deadbabe [出力例] 2#11011110101011011011101010111110 3#100122100210210001200 4#3132223123222332 5#30122344134421 6#1414413520330 7#161402600604 8#33653335276 9#10570723050 10#3735927486 11#1647919685 (略) 27#9h9ll1i 28#7l225hi 29#6842o9l 30#53m7kg6 31#46f9hir 32#3farelu 33#2tf7mor 34#2e7m366 35#214kbpb 36#1ps9w3i
944 名前:デフォルトの名無しさん mailto:sage [2017/12/25(月) 00:09:45.09 ID:3pQBp6tI.net] >>909 Java 手抜き実装二つ https://ideone.com/jybq1N https://ideone.com/Wm8OQ2
945 名前: mailto:sage [2017/12/25(月) 00:32:41.94 ID:LEWwY/wL.net] >>909 c++old mevius.2ch.net/test/read.cgi/tech/1434079972/29
946 名前:デフォルトの名無しさん mailto:sage [2017/12/25(月) 02:44:06.33 ID:FXcNW9u1.net] >>909 ruby n=eval"%2$p.to_i %1$d"%"16 deadbabe".split (2..36).each{|i|puts"%d#%s"%[i,n.to_s(i)]}
947 名前:デフォルトの名無しさん mailto:sage [2017/12/25(月) 04:27:01.50 ID:Cnt90MG5.net] >>909 https://ideone.com/dxqIrP C++。まぁこれくらいなら算数でも解ける範囲や
948 名前:な。 ただしコードがバグってないとは言ってない。へへ。 [] [ここ壊れてます]
949 名前:デフォルトの名無しさん [2017/12/25(月) 06:21:01.65 ID:P1JMpVx5.net] >>909 lisp https://ideone.com/6D7LRp
950 名前:デフォルトの名無しさん [2017/12/25(月) 12:28:00.12 ID:Lg9qxqUa.net] >>909 Kotlinらしくしてみようとはしたが、あまりにも短く、更に俺がまだよくKotlinを知らないためにこんな風になった。 https://paiza.io/projects/BpAXUQuDCaOSD6Q6GN4O8A 肝心な所はJavaとほぼ同じ。
951 名前:デフォルトの名無しさん mailto:sage [2017/12/25(月) 19:56:50.93 ID:IEH/2als.net] >>909 F# https://ideone.com/rRZ949
952 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 10:23:38.85 ID:Hd2qVaf/.net] >>909 Squeak/Pharo Smalltalk | n | n := '16 deadbabe' replaceAll: Character space with: $r; asNumber. 2 to: 36 do: [:i | Transcript cr; show: i; space; show: (n radix: i) asLowercase]
953 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 04:53:27.57 ID:N8L362th.net] お題を捏造してやるぜ。 アンサーが42になる式を捏造せよ。という数学パズル。 小難しい式をでっち上げた人が優勝。 算数から数学、物理まで式になってればすべての手法が使用可能。統計とかでもいいよ。 制約は答えが42になることのみ。 解けるものはいるか?
954 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 04:55:12.31 ID:N8L362th.net] あー、忘れてた。 ちゃんと検算して答えを確認できること。 俺、算数しかできないから、各種サービスにかけて検算できるのが望ましい。
955 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 04:57:55.88 ID:8O6aNcDe.net] ぷろぐらみんぐ・・・?
956 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 05:01:29.85 ID:N8L362th.net] ベンチマーク的な感じだな。 たまには本気を出したいだろ?お前ら。
957 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 05:04:57.45 ID:N8L362th.net] 当たり前だが、必要な関数が標準ライブラリになかったら自作すること。
958 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 07:10:57.10 ID:s+AqweGp.net] >>918 ruby require 'open-uri' expr = "the Answer to the Ultimate Question of Life, the Universe, and Everything" uri = "https://www.google.com/complete/search?output=toolbar&q=%s" puts open(format(uri, expr.gsub(' ', '%20'))).string[/data="\K[^"]*/] #=> 42
959 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 07:34:31.76 ID:N8L362th.net] >>923 元ネタはそれ。正解の一端。
960 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 08:07:25.24 ID:i+4FV8XV.net] >>918 brainfuck https://ideone.com/eJSjws
961 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 09:35:15.49 ID:wX0EFIYP.net] >>918 難しさの判定を人間が気分でするしかないとなると死ぬまで気に入らないと 言い続けて終わらないようにもできてしまうわけで、少なくともお題の判定 方法としては適切ではないのではないか?
962 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 11:19:23.23 ID:ZkyapKMq.net] 式を捏造せよと言ってんのに、検算して答えがあってることを確かめろとか矛盾してて草
963 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 11:41:23.15 ID:N8L362th.net] >>925 基本的かつ合理的。 >>926 投票制にする? >>927 答えは42になることだけは決まってるんだから、検算できないのはどういう理由? プログラミングやるんだから、イデオンとか使うんじゃだめなの?
964 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 15:25:23.94 ID:0tvuK50P.net] 片山に次ぐ逸材かもしれないが出題者が馬鹿だとやる気が出ないという良い見本
965 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 15:31:12.30 ID:N8L362th.net] 自由を泳げないって不便だね。 何やっても良いんだからなんかすればいいって話なんだけど。 定型の答えなんか求めてないのは出題見ればわかるだろ。 発想力が欠如してるんじゃないか? 基本的にベンチマークだと言ってるでしょ? 捏造っていう言葉が悪かったら謝るが。構成しろってことにすれば大体同じや。
966 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 15:32:51.23 ID:N8L362th.net] 口だけのやつはぶっぶーですわ。
967 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 16:00:26.20 ID:4ng0NpPh.net] 自由を泳げないって
968 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 18:49:12.75 ID:Er3In3fn.net] Cコ:彡
969 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 00:30:23.43 ID:+gfutoXL.net] >>909 rust https://ideone.com/H6mdNM ・BigInt不使用 ・n.to_s(b)の形にしたかったが素早く諦めた ・色んなところに迷いと妥協が見え隠れ
970 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 02:28:40.84 ID:IV3yH5ho.net] お題:入力があったら6面のサイコロを振って出た目を出力してください ただし数字を使ってはならない
971 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 03:07:31.93 ID:GekNq94X.net] そういう数字を使ってはいけないって誰得なの?
972 名前:デフォルトの名無しさん [2017/12/29(金) 05:31:16.53 ID:5y9SQxLe.net] >>935 Unicode の U+2680 〜 U+2685 は? ??????
973 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 09:00:41.20 ID:IV3yH5ho.net] >>936 さぁ。。。 >>937 確認してないけどいいのでは
974 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 09:20:10.35 ID:GekNq94X.net] >>935 https://ideone.com/GrYSWB C++。こんな感じ?
975 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 09:29:20.12 ID:GekNq94X.net] https://ideone.com/ZRXCD5 こっちの方がそれっぽいか。
976 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 20:57:46.71 ID:QkO9em45.net] 数字を使ってはならないってのが謎 AAで出力しろってか?
977 名前:デフォルトの名無しさん [2017/12/29(金) 21:21:03.51 ID:aTe03Y1I.net] >>935 Rubyで。 p rand('abcdef'.length) + 'z'.length
978 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 21:28:13.36 ID:FAMD2vO+.net] 数字を使うなって表示なのかそれともソースなのか? 表示なら ●●●●●●とか
979 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 21:29:41.90 ID:u/2CuQjm.net] 両方だろ
980 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 21:50:46.64 ID:VnRfvHlH.net] そもそも入力が何なのかすら意味不明。却下
981 名前:デフォルトの名無しさん [2017/12/29(金) 22:22:21.11 ID:1z8qBjEb.net] お題 自然数 n を入力とし, a と b を乗ずると n になるような自然数 a と b を出力する. a と b の侯補が複数存在する場合は, a と b の和がもっとも小さなものを出力すること.
982 名前:デフォルトの名無しさん [2017/12/29(金) 22:32:07.85 ID:5y9SQxLe.net] >>938 じゃあUnicodeのU+2680からの文字を使った版。Kotlinで。 https://paiza.io/projects/GElJ8jIbi45jocyYirbO8w 入力があったらの部分は最初の readLine() だ。 下の「入力」タブの所で改行を一つ入れてあるので開いたら即出力がある。
983 名前:デフォルトの名無しさん [2017/12/29(金) 23:03:49.04 ID:5y9SQxLe.net] >>935 また Kotlin。 サイコロの目の一つは5x5ビットあれば表現できるので配列に詰め込んで後で変換して出すようにした。 https://paiza.io/projects/uGhQ6cuRqbnlGc2TTvT92w?language=kotlin 別に配列でなくてもとにかく 5*5*6 (=150) bit 詰め込めるなら何でも良い。
984 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 23:13:30.16 ID:VnRfvHlH.net] >>946 15.times{|n| sqrt_n = Integer.sqrt(n) (2 * sqrt_n..n + 1).each { |s| (sqrt_n..n).each { |i| next unless i * (s - i) == n puts '%d * %d = %d' % [i, s - i, n] break } || break } } 0 * 0 = 0 1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 2 * 2 = 4 5 * 1 = 5 2 * 3 = 6 7 * 1 = 7 2 * 4 = 8 3 * 3 = 9 5 * 2 = 10 1
985 名前:1 * 1 = 11 3 * 4 = 12 13 * 1 = 13 7 * 2 = 14 [] [ここ壊れてます]
986 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 23:14:32.74 ID:VnRfvHlH.net] >>949 はRuby2.5.0ね
987 名前:デフォルトの名無しさん [2017/12/29(金) 23:25:01.60 ID:IY4nOP57.net] >>935 https://paiza.io/projects/dpm1gJDuxMLd6pvQau8rig?language=kotlin
988 名前:デフォルトの名無しさん [2017/12/30(土) 00:34:17.12 ID:64dx8gku.net] >>946 def r9_946(n) Math.sqrt(n).to_i.downto(1) do |e| return [e, n / e] if (n / e) * e == n end end 1.upto(100) do |n| a, b = r9_946(n) printf("%d = %d * %d¥n", n, a, b) end
989 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 00:45:39.83 ID:6/kbfUjB.net] >>949 から100倍くらい早くなった https://ideone.com/4qZ3Di
990 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 01:37:16.58 ID:2QbO+yEX.net] >>951 出目が0〜6? 確率的には 0: 1.56% 1: 9.38% 2: 23.44% 3: 31.25% 4: 23.44% 5: 9.38% 6: 1.56% くらいか?
991 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 09:12:17.38 ID:6VD4P8Az.net] >>946 https://ideone.com/GSawYb C++。条件足りてるかよくわかってないけど、適当に書いたらそれぽい感じになった。 あってる保証はない。
992 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 09:19:03.41 ID:6VD4P8Az.net] なんか俺の劣化>>953 みたいな感じだな。 うーん。名案だとは思ったのだけど。むむむ・・・。
993 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 09:31:25.37 ID:6VD4P8Az.net] うほ、フィルターしてる条件にバグがあった。良く動いてたな。
994 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 09:33:18.81 ID:6VD4P8Az.net] これ、片方1のやつって素数かな? エラトステネスの篩とどっちが軽いかな。
995 名前:デフォルトの名無しさん [2017/12/30(土) 12:46:04.20 ID:ZPxTZMGf.net] お題 要素が素数, かつ要素の総和が2018になる集合のうち, 要素数がもっとも大きい集合を出力する.
996 名前:デフォルトの名無しさん [2017/12/30(土) 12:59:47.50 ID:64dx8gku.net] >>959 [2]*(2018/2)
997 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 14:25:23.55 ID:6VD4P8Az.net] >>959 https://ideone.com/lwcNQR C++。DPの練習。必要な数はわかったが過程の表示の仕方がわからない。 どうすれバインダー。Orz
998 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:14:55.24 ID:6VD4P8Az.net] >>961 https://ideone.com/DdepmL C++。あってるか知らんけど、力業でベタ作業した結果、それっぽい数字にたどり着いた。 と、思ったら全然違う数字を指していた。
999 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:16:57.66 ID:6VD4P8Az.net] >>959 https://ideone.com/XzeJ1E C++。でけたー。DP難しいなぁ。
1000 名前:デフォルトの名無しさん [2017/12/30(土) 15:18:24.57 ID:ZOKm+QEU.net] >>959 それ1なのでは?
1001 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:25:04.70 ID:6VD4P8Az.net] 要素数だから、コンテナカウントだと思って書いたんだけど。 え?題意勘違いしてる?
1002 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:25:53.45 ID:6VD4P8Az.net] element countだよね?
1003 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:30:31.85 ID:qiSXHyFx.net] 2が1009個ある集合、>>960 で答えが出てる
1004 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:32:23.03 ID:6VD4P8Az.net] >>967 あー、それそういう意味だったのか。 うわー俺、蛇足だった。
1005 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:36:57.18 ID:6VD4P8Az.net] >>967 それをさ、プログラムで解くのきつくない? 総当たりしないと俺は無理。重複許可すると途端に大変になる。
1006 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 16:05:45.05 ID:6VD4P8Az.net] https://ideone.com/RVtf4i 適当に拡張してみたが、搭載メモリ8Gを使い切ってしまいデバッグ不可。 これ、意外と難問かもしれん。
1007 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 16:20:15.12 ID:6VD4P8Az.net] ちょっとくどいけど、 これさ、量子アニーリングじゃないと解けないやつかなぁ?? なんかさっきからいじってるけど、ローカルポケットに落ちてる気がする。 グローバルポケットに落とす方法が皆目見当つかない。 解説頼む。
1008 名前:デフォルトの名無しさん [2017/12/30(土) 16:48:17.65 ID:ZPxTZMGf.net] すみません, お題での 集合 は Ruby では Setクラス のような, 要素に重複や順序性のないものを考えていました. 想定していた回答例は以下です. answer (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 113 127 131 137 139) (apply #'+ answer) 2018 (length answer) 33
1009 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 17:07:30.49 ID:YKsh4iwJ.net] 9個まではすぐ見つかるんだけど10個になった途端重くなる 10個の場合は存在しない? 逆に21個や33個の場合はすぐ見つかるんだ、どういう分布なんだろな
1010 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 17:11:07.91 ID:6VD4P8Az.net] >>972 おー、よかった。どこまで深淵があるのか怖かったよ。 多分、>>963 であってると思う。たぶん。
1011 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 18:48:52.49 ID:YKsh4iwJ.net] >>959 C# https://ideone.com/J9MmxS 33個と決め打ちした場合は4通りがすぐ出る そのあと延々ループしてるがTime limit exceededで打ち切ってくれる
1012 名前:デフォルトの名無しさん [2017/12/30(土) 21:03:54.80 ID:30TR5CU8.net] >>959 1も素数なんだが1が2018個ある集合はありなのか? それだとお題としてほとんど意味のないひっかけ問題みたいになるわけだが、 そうではないなら問題を修正しろ。
1013 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 21:15:48.77 ID:KgXg1sy3.net] >1も素数なんだが >1も素数なんだが >1も素数なんだが
1014 名前:デフォルトの名無しさん [2017/12/30(土) 21:23:36.74 ID:bLWDJrON.net] >>977 あ、2か。 でも問題がこれだと同じことだよなあ。
1015 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 21:26:45.29 ID:bA88XQgg.net] >>976 4つ上のレスも確認できないくせに何言ってんの
1016 名前:デフォルトの名無しさん [2017/12/30(土) 21:42:01.90 ID:ZPxTZMGf.net] 一般に, 素数は 1およびその数自身のほかに約数を有しない正の整数 と定義されますので, ここではその定義に従います. また一般に, 重複や順序性のない もののあつまり を 集合(set) と呼ぶことが多いので, ここではその用法に従います. 集合(set)に対して, ものをならべたものは列(sequence)と呼ぶことが多いです. ここでは『AABBCC』は文字列ですが, 文字集合ではないとします. % irb irb(main):001:0> require 'prime' => true irb(main):002:0> 1.prime? => false irb(main):003:0> 2.prime? => true irb(main):004:0> require 'set' => true irb(main):005:0> Set.new([1]*2018).size => 1
1017 名前: mailto:sage [2017/12/31(日) 00:33:09.15 ID:UjqOw9qv.net] お題:指定した複数の wav フォーマットを連結して一つ wav ファイルを作成するプログラムを書け ・ファイルの指定方法はコマンドライン引数指定でかまわない ・wav ファイルフォーマットの仕様上の上限である 4GiB まで正常に結合できることを必須の最低条件とする ・PCM フォーマット・ステレオ2ch・サンプリング周波数 44.1kHz に対応しておればよい ・GUI に対応しておればなおよい 背景:いや、いろいろダウンロードして試しているのだけれども、4GiB まで正常に結合できるソフトウェアが見つからないのです‥
1018 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 01:09:52.02 ID:iFZSMKfw.net] それでこのスレに辿り着くのは面白い
1019 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 01:21:45.50 ID:QH0un2fa.net] 前からこのスレにいる人でしょ。 お題としてはまったくこのスレに向いてないと思うが。
1020 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 01:55:26.47 ID:mjAZsjOp.net] 2000から3000位まで試してみたが、大体33前後になるみたい (微妙に増加していくが緩慢)
1021 名前:デフォルトの名無しさん [2017/12/31(日) 03:02:32.19 ID:rf+Z6LCT.net] >>981 これ使えないか? hakobe932.hatenablog.com/entry/20060613/1150208682
1022 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 05:23:36.13 ID:Q5J3BQB7.net] >>981 waveチャンクって2gbまでだっけ?sizeフィールドが32bitsignedだったような気がするんだけど。どうだっけ?
1023 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 05:28:08.43 ID:Q5J3BQB7.net] 書き出すのはそんなに難しくないんだけど、読み込むのが面倒なんだよなぁ。 それに、適当にくっつけるとくっつけたところにブツ!っていうのノイズが入ることがあったはず。
1024 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 05:33:17.47 ID:Q5J3BQB7.net] https://ideone.com/AExWE6 これで、ちっちゃいやつは書き出した実績がある。ローカルの話だけどな。 読み込みはRiffの仕様よく知らないからわからない。
1025 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 09:49:37.67 ID:Jha/n6sD.net] 自分で書くよりfoobar2000でMerge all tracks into one output fileしちゃうよな むしろ6GBとかいける、wave64になってんのかな
1026 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 10:12:35.10 ID:vp+PvkVL.net] 完全にスレチ
1027 名前: mailto:sage [2017/12/31(日) 13:06:54.78 ID:UjqOw9qv.net] >>989 foobar2000 に merge する項目はありますか? 最新バージョンをインストールしましたが見当たりません‥
1028 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 14:14:14.10 ID:Jha/n6sD.net] >>991 foo_converter.dllが標準で入ってるからそのまま使えるよ スレチというかこの場合はサイト違いだな、Hydrogenaudioで検索した方が沢山みつかる
1029 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 19:53:16.48 ID:R6E+DNla.net] "2018と素数" 類似問題 [お題] 前問よりどうやら、ユニークな素数の和で2018を作ると、 構成(要素)数 33個が最大で 4種類あるらしい。 最小は2個で27種類あるみたいだ。 3個だと 73種類、 4個だと 85014種類あるみたいだ。 ユニークな素数の和で2018を作る時、 最大の種類が作れるのは、構成数何個のときで、何種類か。 (注) 8個を超えると10億超えがしばらく続くらしい。
1030 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 19:58:31.90 ID:Q/CIq2T0.net] >>981 ちゃんと理想の仕様を書けば作るけど
1031 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 20:02:31.92 ID:Q/CIq2T0.net] >>986 32bit unsignedで(4Gi-1)Bまでだね ファイルサイズも32bit unsigned
1032 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 22:29:40.39 ID:q2wUTltf.net] >>993 Java https://ideone.com/DHe5Ij
1033 名前: mailto:sage [2018/01/01(月) 00:07:03.13 ID:JOZ5/YyG.net] >>981 mevius.2ch.net/test/read.cgi/tech/1434079972/30 ‥‥書初めになりました
1034 名前:デフォルトの名無しさん [2018/01/01(月) 06:04:16.51 ID:4wMbPbHX.net] どうして2048ではなく2018などという中途半端な数にしたんだろうとずっと不思議に思っていたのだが(お題だから敢えて変な数にしたのかとか思ったんだが)、ようやっとわかったよ。今年の西暦年だったんだね。
1035 名前:デフォルトの名無しさん mailto:sage [2018/01/01(月) 06:13:54.33 ID:+ZNxt5nC.net] >>995 勘違いしてたか。訂正ありがとう。
1036 名前:デフォルトの名無しさん mailto:sage [2018/01/01(月) 08:09:01.71 ID:OeEKMk/d.net] >>997 そっちのスレに書くと本当にBTC貰えるの? てか、出題者と交渉したって貰える保障が全くなくて無意味なスレのような気がするんだけど。
1037 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 395日 15時間 10分 31秒
1038 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています