1 名前:デフォルトの名無しさん [2020/03/13(金) 01:42:47.06 ID:0rEhys36.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/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part16 https://mevius.5ch.net/test/read.cgi/tech/1573948822/
488 名前:デフォルトの名無しさん mailto:sage [2020/05/10(日) 08:58:28.24 ID:4OJfHckY.net] >>467 Ruby https://ideone.com/AxLfCd 文字列処理を減らしたいので 2pass化 "odadai" => [[0], [1, 3], [2, 4], [5]] # 2passでは 左が小さな組み合わせをカウント "odaiodai" => [[0, 4], [1, 5], [2, 6], [3, 7]]
489 名前:466 mailto:sage [2020/05/10(日) 13:59:33.90 ID:gIVDr8oL.net] 入力サイズが小さいと簡単みたいなので、入力例を追加します。 [1]〜[4]の入力を1000回繰り返した文字列を入力とした場合 [1'] 167501334000 [2'] 668668500500 [3'] 10730784064000 [4'] 999666166500
490 名前:デフォルトの名無しさん mailto:sage [2020/05/10(日) 15:14:38 ID:f3PnDX6/.net] >>474 python https://ideone.com/Qodc4Y 計算量は "対象文字数 * 4" "odai"4文字なら、50万文字もいける (多倍長のコストの方が多いかも)
491 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 00:53:30 ID:LhYTwRyi.net] マソコ
492 名前:デフォルトの名無しさん [2020/05/11(月) 19:02:44.58 ID:bA9qwXrL.net] >>475 すごすぎる
493 名前:蟻人間 mailto:sage [2020/05/11(月) 19:04:56.86 ID:0EGbwihd.net] お題: 15パズルの解法のプログラム。
494 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 19:46:15.63 ID:R+jEWyVC.net] >>474 https://ideone.com/xzPlNr
495 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 20:40:10 ID:M5DpbX0A.net] 15 パズルは、絶対に解けないパターンもあるけど
496 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 21:17:25.91 ID:WNe361+M.net] 確率1/2
497 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 21:29:36.57 ID:7ARsAnzF.net] 解けるパターンでやれ
498 名前:デフォルトの名無しさん [2020/05/11(月) 23:42:50 ID:Hyf1216H.net] お題: 15パズルのシャッフルプログラム
499 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 23:48:03 ID:72QosWs+.net] >>483 js 過去に作ったやつですまん https://codepen.io/as124680/full/rNOOLYP
500 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 00:48:01.84 ID:1cwWHoSt.net] >>479 C か
501 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 06:39:50.88 ID:DbNVGyl2.net] >>474 D https://ideone.com/lhlPdj 前半に含まれる"odai"の接中辞たちの数と後半のそれから全体のそれを求める、を再帰的にやる
502 名前:デフォルトの名無しさん [2020/05/12(火) 19:39:32.13 ID:MKYG7Wu5.net] >>467 Ruby def f(a,b) r=0 v=b.chars a.chars.combination(b.size){|x| r+=1 if x==v} r end
503 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 19:42:03.58 ID:Yyd7NZU2.net] >>487 charsじゃなくてeach_charを使うべきだな
504 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 19:43:06.34 ID:Yyd7NZU2.net] ごめんなんでもないわ
505 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 20:28:19.14 ID:Az5UEVMy.net] 前にもRubyにケチつけてるやついたな そんなにRubyが好きなのか
506 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:41:00 ID:FPX3gN+i.net] だれもrubyにはけちつけてないだろ 自意識過剰
507 名前:デフォルトの名無しさん mailto:sage [2020/05/12(火) 23:56:13 ID:78VrOqdX.net] だれも〜してないだろって何度も見た言い回しだ
508 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:00:23 ID:nr6gd5ft.net] よそでやれ
509 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:03:06 ID:slJfSE7v.net] >>491 Rubyのコードを見るとシュババ!って「Rubyはもっと簡潔に書ける!Rubyはもっと便利なんだ!」だとアピールするやつがいるってこと。 この板にはRubyガイジが蔓延ってるからそいつが脳裏に浮かんだからレスしてみただけです。
510 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:05:48 ID:5NOWSl2X.net] >>494 気持ちは分かるしそう感じている人は一定数いるが 大人になれ よそでやれ
511 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:07:21.70 ID:nBU0
] [ここ壊れてます]
512 名前:Zg0F.net mailto: 短いと簡潔は別だけどな [] [ここ壊れてます]
513 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:21:44 ID:2w6TZUl8.net] だれも同じとかいってないだろ 自意識過剰
514 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:27:54.61 ID:6zcLgAPe.net] いや同じだ。
515 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:29:44.51 ID:vHp1rr46.net] よそでやれ
516 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 00:30:24.48 ID:h1pJmPup.net] おっとrubyの悪口はそこまでにしろ 続きは https://mevius.5ch.net/test/read.cgi/tech/1578068134 でやれ。
517 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 05:39:05.13 ID:n5K1RBuf.net] 言われた本人が言うならまだしも外野は黙ってろ
518 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 08:05:10.41 ID:E1Bs+xhk.net] キミも外野ですやん。
519 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 09:10:17 ID:n5K1RBuf.net] >>502 死ねキチガイ
520 名前:デフォルトの名無しさん [2020/05/13(水) 17:55:10 ID:m+8rhLrR.net] 0~7を2~19の素数に対応させた回路 digraph g1 { subgraph cluster_1 { label = "Solution_1" aa_1_1, aa_1_1 -> aa_1_3 ; aa_1_2, aa_1_2 -> aa_1_4 ; aa_1_3, aa_1_0 -> aa_1_5 ; aa_1_4, aa_1_3 -> aa_1_6 ; aa_1_5, aa_1_0 -> aa_1_7 ; aa_1_5, aa_1_2 -> aa_1_8 ; aa_1_6, aa_1_6 -> aa_1_9 ; aa_1_7, aa_1_1 -> aa_1_10 ; aa_1_7, aa_1_7 -> aa_1_11 ; aa_1_8, aa_1_2 -> aa_1_12 ; aa_1_8, aa_1_6 -> aa_1_13 ; aa_1_9, aa_1_5 -> aa_1_14 ; aa_1_12, aa_1_5 -> aa_1_15 ; aa_1_12, aa_1_10 -> aa_1_16 ; } }
521 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 20:50:56 ID:+xkAlvWp.net] >>503 おめえが死ね
522 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 20:51:34 ID:NqwOCnph.net] いや私が
523 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 21:30:04 ID:jXNyDpel.net] いや俺が
524 名前:◆QZaw55cn4c mailto:sage [2020/05/13(水) 21:47:36 ID:k/cJlRBb.net] 私も私も
525 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 22:24:24 ID:NqwOCnph.net] おまえはしんでいい
526 名前:デフォルトの名無しさん mailto:sage [2020/05/13(水) 23:20:16 ID:dw67B8Yn.net] そこはどうぞどうぞだろ
527 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 00:37:25.58 ID:of1F+sQS.net] 違うだろバカたれどもが
528 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 00:38:29.74 ID:RmYHvTyI.net] クソスレ
529 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 00:41:44.75 ID:EjdWSTcH.net] >>494
530 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 00:54:20 ID:jR2NR8u3.net] フォーハンドレッドナインティスリー
531 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 00:58:18 ID:9jXLNArV.net] またRuby信者が暴れてるのか そんなんだから廃れるんだぞ
532 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 04:20:05 ID:v2H0Pbjl.net] >>515 必死過ぎてキモい
533 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 08:19:01 ID:ATZ04u9M.net] 巣から出てこないで
534 名前:デフォルトの名無しさん [2020/05/14(木) 11:14:37.43 ID:mLSyRb78.net] お題: 標準入力から使用言語のインポート文やインクルード文に相当する複数の文が入力される インポート文のパッケージ名をキーにして複数の文を昇順にソートして出力せよ 例: (Pythonの場合) in < import abc import def from ABC import DEF out > from ABC import DEF import abc import def
535 名前:デフォルトの名無しさん [2020/05/14(Thu) 12:37:36 ID:HMZArJeP.net] iostreamが一番上に無いと落ち付かないし、 <>と""が混ざるのもヤダ
536 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 12:48:23 ID:xgmSq5h2.net] じゃあ勝手にそのルールで作れば
537 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 16:21:13 ID:TUXEfYWI.net] #includeは行を前後入れ換えるとエラーになることあるから実用的ではない まあ例え実用的でなくても要求仕様のとおり作れってことなんでは?
538 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 17:58:25.38 ID:nTyJBG5I.net] お題の意味を深読みするやつはテストの点が悪い テストの問題などそれが解けるかどうかを見たいのであって それ自体に大した意味はない
539 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 18:53:37.14 ID:vCkOIzUf.net] それはそのテストが能力評価試験か あるいは単なる選別試験化によること
540 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 19:33:13.92 ID:TM7TYhs5.net] >>518 Ruby 回答が困難な例を考えてみた require 'etad'.reverse fo
541 名前:o = 'date' require foo require %w| json date net cgi |[1] module Foo module Bar Car = 'date' end end require Foo::Bar::Car require_relative './foo/../bar/../car/../wrk' [] [ここ壊れてます]
542 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 19:45:30.93 ID:0XakIAB2.net] 馬鹿か。
543 名前:デフォルトの名無しさん [2020/05/14(Thu) 19:59:06 ID:9P667XH0.net] お題 ipのフィルタリングを行ってください 許可するipが次の形式で入力されます allow ip 拒否するipが次の形式で入力されます deny ip チェックするipが次の形式で入力されます ip アクセスを許可する場合は次の文字列を出力してください allow アクセスを拒否する場合は次の文字列を出力してください deny 許可するip、拒否するipの形式は次の2つです xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx/xx (CIDR形式) xxx.xxx.xxx.xxxの場合は、完全一致で判断してください CIDR形式の場合は、ネットワークアドレスの一致で判断してください チェックするipの形式はxxx.xxx.xxx.xxxのみです allowとdenyの優先順について 1. allow ipに該当したらアクセスを許可します 2. 1.に該当せず、deny ipに該当したらアクセスを拒否します 3. 1.に該当せず、2.に該当しない場合アクセスを許可します 例 入力 allow 192.168.11.9 deny 192.178.12.3/8 allow 192.168.23.34/16 192.168.89.99 出力 allow
544 名前:デフォルトの名無しさん [2020/05/14(Thu) 20:01:48 ID:9P667XH0.net] 小規模なシステムだとサーブレットでipのフィルタリングすることあるから結構実用的だと思う
545 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 20:08:05 ID:jKQspZfc.net] denyだけ調べりゃいいんでない?
546 名前:デフォルトの名無しさん [2020/05/14(木) 20:24:36.69 ID:9P667XH0.net] >>528 そういうわけでもないんよ 例えば deny 0.0.0.0/0 allow 20.8.5.34 とした場合、20.8.5.34は許可するけど、それ以外は全部拒否っちゃうみたいな ホワイトリスト方式の使い方も想定してるんよ システムの入り口のところなので大量のリクエストを裁かなければいけないので できるだけ高速に動作するように、さらにアクセス制御リストに変更があった場合に 即座に反映するために外部リソースから読み取るようにしておいてみたいなことも 考えると良い暇つぶしになるよー
547 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 20:32:03 ID:jKQspZfc.net] >>529 なるほど確かにその通りであらう
548 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 20:59:39.91 ID:lLI6eB7P.net] 何をあらうんだよ…
549 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 21:00:22.99 ID:wD9bKf3u.net] 足
550 名前:蟻人間 mailto:sage [2020/05/14(木) 21:04:20.89 ID:AeCxRE84.net] 歴史的仮名遣いだろう
551 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 21:04:56.76 ID:kU1rpgyO.net] >>528 はdenyとでないを掛けた洒落 >>530 もあろうの歴史的仮名遣いのあらうとallowを掛けた親父ギャグでしょ
552 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 21:07:43.58 ID:wD9bKf3u.net] 説明しなきゃいられないところがオヤジ
553 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 21:09:08 ID:kU1rpgyO.net] なんで親父ギャグ(多分)の解説しただけで親父扱いなんですかねぇ
554 名前:デフォルトの名無しさん mailto:sage [2020/05/14(Thu) 21:10:15 ID:qtdgHxAv.net] 1番恥ずかしいのは>>533 君ですね。
555 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 21:24:44.88 ID:wD9bKf3u.net] それは間違いない
556 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 21:44:56.84 ID:bVs50nsv.net] /??la?/であろう
557 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 21:45:35.19 ID:bVs50nsv.net] もじばけ? /?`lau/
558 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 23:46:30 ID:PLtuBlLM.net] >>526 >>529 Perl5 sub na { (((($_[0] << 8) + $_[1]) << 8) + $_[2]) << 8 + $_[3] } sub iaf { my @rl; for (split "\n", shift) { my @f = /(?:(allow|deny)\s+)?(\d+)\.(\d+)\.(\d+)\.(\d+)(?:\/(\d+))?/; if ($f[0]) { push @rl, [$f[0], na(@f[1..4]), $f[5]//0];
559 名前:} else { $res = 'allow'; for (@rl) { $res = $$_[0] if ($$_[1] & $$_[2]) == (na(@f[1..4]) & $$_[2]) } print "$_ -> $res\n"; } } } iaf <<EOL; allow 192.168.11.9 deny 192.178.12.3/8 allow 192.168.23.34/16 192.168.89.99 EOL iaf <<EOL; deny 0.0.0.0/0 allow 20.8.5.34 20.8.5.34 EOL 実行結果 ~ $ perl 17_525_ip_filt.pl 192.168.89.99 -> allow 20.8.5.34 -> allow [] [ここ壊れてます]
560 名前:540 mailto:sage [2020/05/15(金) 23:48:47 ID:V3+gK270.net] >>541 ゴメン、これ間違いがある
561 名前:デフォルトの名無しさん mailto:sage [2020/05/15(金) 23:58:42 ID:b6XlKvF2.net] あなたはお腹が空くと、[DENY]ーズにいくのだ[ALLOW]ね。
562 名前:540 mailto:sage [2020/05/16(土) 00:00:07 ID:6i7hUAj2.net] >>541 6行目 × push @rl, [$f[0], na(@f[1..4]), $f[5]//0]; ↓ ○ push @rl, [$f[0], na(@f[1..4]), -1 & 2**$f[5]-1];
563 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/05/16(土) 00:38:46 ID:mmCD1xOl.net] お題: ペナルティ方式でパスワードの強度を判定するプログラム。「弱い」「普通」「強い」の3段階で判定する。 5文字より短いパスワードは「ダメ」 「3AAA1567」のような同じ文字が3文字以上並んでる場合は「ダメ」 「1234567」「abcdefg」などの規則的なものは「ダメ」 パスワード辞書に登録されているパスワードは「ダメ」 英単語辞書に登録された単語そのものは「ダメ」 英単語辞書に登録された単語を含むものは「あまり良くない」 英字のみは「あまり良くない」 数字のみは「ダメ」 「2020/5/16」「20.5.16」のような日付に見えるものは「ダメ」
564 名前:540 mailto:sage [2020/05/16(土) 00:46:40 ID:fpR/KoQd.net] あんさんのお代に共通して言えることだけど、 難易度はさておいて、パスワード辞書に登録されているか調べたり 英単語辞書に登録された単語化調べたりするのは それなりに冗長でサイズがかさんで回答しにくい。(難易度とは別に手間がかかる) こういうところに出すお題は、もっと手短にかける回答になるないと 対応しにくい
565 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 01:11:12.68 ID:Y5etVgbs.net] おまえはお題コンプマンだしなw?
566 名前:540 mailto:sage [2020/05/16(土) 01:16:31.49 ID:qT19c9Q0.net] また荒れるようにあおる理由は何よ
567 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 01:17:01.29 ID:lk9pP577.net] テスト用なんだし適当に辞書に数個のデータ書いとけば良くね? 入力例を書くのと同じようなもんでしょ。
568 名前:540 mailto:sage [2020/05/16(土) 01:18:31.56 ID:qT19c9Q0.net] >>549 まかせた。 俺はこのお題は下りる。
569 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 01:25:07 ID:lk9pP577.net] 自分が指摘されたら無意味な煽りで逆切れか
570 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 01:27:06 ID:MtRD2Sio.net] >>551 お前、変な絡み方するな。 何か文句あるのか
571 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 01:38:56.04 ID:+1fKeI4G.net] >>526 C++ Boost.Asio使ってみた https://wandbox.org/permlink/0AHpUmYq4xGUM6JT
572 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 01:40:21 ID:lk9pP577.net] >>552 貴方は誰だろ
573 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 01:45:48 ID:wIXI/yEm.net] https://www.youtube.com/watch?v=xQvGRMZZRjo
574 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 01:57:03 ID:gANc9GME.net] >>545 規則的というのがよくわからんな aceg 13579 314515926 あたりがいいのか悪いのかわからん
575 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 02:44:30 ID:XVsJeOb7.net] なんでそんな細かい? 案件が何か?
576 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 04:31:36 ID:Oh3+MfsL.net] >>545 めんどくさいから一部だけ https://ideone.com/K7iXjl
577 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 06:25:37 ID:d1TWh4yW.net] 難しいことはどうでもいいんだよ 糞コテなんかNGに入れて無視しとけ
578 名前:デフォルトの名無しさん mailto:age [2020/05/16(土) 09:12:22.88 ID:F27qhMVV.net] >>554 お前が誰だ
579 名前: [] [ここ壊れてます]
580 名前:デフォルトの名無しさん mailto:age [2020/05/16(土) 09:13:48 ID:F27qhMVV.net] >>549 はよ
581 名前:デフォルトの名無しさん mailto:sage [2020/05/16(土) 13:21:04 ID:u4MIIZu6.net] キレんなよperlおじさん…
582 名前:デフォルトの名無しさん [2020/05/17(日) 01:00:50 ID:3JQ6JRsi.net] >>562
583 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 01:02:26 ID:vYrP6+Tp.net] >>563
584 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 01:05:18 ID:m/RKzw04.net] クソスレageるなクズが
585 名前:デフォルトの名無しさん [2020/05/17(日) 01:06:25 ID:EUq6tLtb.net] お客さん、お口が悪いですよ。
586 名前:デフォルトの名無しさん [2020/05/17(日) 01:12:24 ID:75sCr/7U.net] >>564
587 名前:デフォルトの名無しさん [2020/05/17(日) 11:38:13 ID:vMT2I4CL.net] >>567
588 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 13:24:57 ID:ven71fGO.net] remember perl barber