プログラミングのお題スレ Part17

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/03/13(金) 01:42:47.06ID:0rEhys36
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

※前スレ
プログラミングのお題スレ Part16
https://mevius.5ch.net/test/read.cgi/tech/1573948822/
2020/05/11(月) 20:40:10.86ID:M5DpbX0A
15 パズルは、絶対に解けないパターンもあるけど
2020/05/11(月) 21:17:25.91ID:WNe361+M
確率1/2
2020/05/11(月) 21:29:36.57ID:7ARsAnzF
解けるパターンでやれ
482デフォルトの名無しさん
垢版 |
2020/05/11(月) 23:42:50.17ID:Hyf1216H
お題: 15パズルのシャッフルプログラム
2020/05/11(月) 23:48:03.46ID:72QosWs+
>>482 js

過去に作ったやつですまん
https://codepen.io/as124680/full/rNOOLYP
2020/05/12(火) 00:48:01.84ID:1cwWHoSt
>>478
C か
2020/05/12(火) 06:39:50.88ID:DbNVGyl2
>>473
D https://ideone.com/lhlPdj
前半に含まれる"odai"の接中辞たちの数と後半のそれから全体のそれを求める、を再帰的にやる
486デフォルトの名無しさん
垢版 |
2020/05/12(火) 19:39:32.13ID:MKYG7Wu5
>>466 Ruby
def f(a,b)
r=0
v=b.chars
a.chars.combination(b.size){|x| r+=1 if x==v}
r
end
2020/05/12(火) 19:42:03.58ID:Yyd7NZU2
>>486
charsじゃなくてeach_charを使うべきだな
2020/05/12(火) 19:43:06.34ID:Yyd7NZU2
ごめんなんでもないわ
2020/05/12(火) 20:28:19.14ID:Az5UEVMy
前にもRubyにケチつけてるやついたな
そんなにRubyが好きなのか
2020/05/12(火) 23:41:00.64ID:FPX3gN+i
だれもrubyにはけちつけてないだろ
自意識過剰
2020/05/12(火) 23:56:13.25ID:78VrOqdX
だれも〜してないだろって何度も見た言い回しだ
2020/05/13(水) 00:00:23.33ID:nr6gd5ft
よそでやれ
2020/05/13(水) 00:03:06.87ID:slJfSE7v
>>490
Rubyのコードを見るとシュババ!って「Rubyはもっと簡潔に書ける!Rubyはもっと便利なんだ!」だとアピールするやつがいるってこと。
この板にはRubyガイジが蔓延ってるからそいつが脳裏に浮かんだからレスしてみただけです。
2020/05/13(水) 00:05:48.59ID:5NOWSl2X
>>493
気持ちは分かるしそう感じている人は一定数いるが
大人になれ
よそでやれ
2020/05/13(水) 00:07:21.70ID:nBU0Zg0F
短いと簡潔は別だけどな
2020/05/13(水) 00:21:44.25ID:2w6TZUl8
だれも同じとかいってないだろ
自意識過剰
2020/05/13(水) 00:27:54.61ID:6zcLgAPe
いや同じだ。
2020/05/13(水) 00:29:44.51ID:vHp1rr46
よそでやれ
2020/05/13(水) 00:30:24.48ID:h1pJmPup
おっとrubyの悪口はそこまでにしろ
続きは
https://mevius.5ch.net/test/read.cgi/tech/1578068134
でやれ。
2020/05/13(水) 05:39:05.13ID:n5K1RBuf
言われた本人が言うならまだしも外野は黙ってろ
2020/05/13(水) 08:05:10.41ID:E1Bs+xhk
キミも外野ですやん。
2020/05/13(水) 09:10:17.35ID:n5K1RBuf
>>501
死ねキチガイ
503デフォルトの名無しさん
垢版 |
2020/05/13(水) 17:55:10.86ID:m+8rhLrR
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 ;
}
}
2020/05/13(水) 20:50:56.07ID:+xkAlvWp
>>502
おめえが死ね
2020/05/13(水) 20:51:34.94ID:NqwOCnph
いや私が
2020/05/13(水) 21:30:04.71ID:jXNyDpel
いや俺が
2020/05/13(水) 21:47:36.79ID:k/cJlRBb
私も私も
2020/05/13(水) 22:24:24.32ID:NqwOCnph
おまえはしんでいい
2020/05/13(水) 23:20:16.02ID:dw67B8Yn
そこはどうぞどうぞだろ
2020/05/14(木) 00:37:25.58ID:of1F+sQS
違うだろバカたれどもが
2020/05/14(木) 00:38:29.74ID:RmYHvTyI
クソスレ
2020/05/14(木) 00:41:44.75ID:EjdWSTcH
>>493
2020/05/14(木) 00:54:20.66ID:jR2NR8u3
フォーハンドレッドナインティスリー
2020/05/14(木) 00:58:18.80ID:9jXLNArV
またRuby信者が暴れてるのか
そんなんだから廃れるんだぞ
2020/05/14(木) 04:20:05.59ID:v2H0Pbjl
>>514
必死過ぎてキモい
2020/05/14(木) 08:19:01.17ID:ATZ04u9M
巣から出てこないで
517デフォルトの名無しさん
垢版 |
2020/05/14(木) 11:14:37.43ID:mLSyRb78
お題: 標準入力から使用言語のインポート文やインクルード文に相当する複数の文が入力される
インポート文のパッケージ名をキーにして複数の文を昇順にソートして出力せよ

例: (Pythonの場合)
in < import abc
import def
from ABC import DEF

out > from ABC import DEF
import abc
import def
518デフォルトの名無しさん
垢版 |
2020/05/14(木) 12:37:36.92ID:HMZArJeP
iostreamが一番上に無いと落ち付かないし、
<>と""が混ざるのもヤダ
2020/05/14(木) 12:48:23.09ID:xgmSq5h2
じゃあ勝手にそのルールで作れば
2020/05/14(木) 16:21:13.66ID:TUXEfYWI
#includeは行を前後入れ換えるとエラーになることあるから実用的ではない

まあ例え実用的でなくても要求仕様のとおり作れってことなんでは?
2020/05/14(木) 17:58:25.38ID:nTyJBG5I
お題の意味を深読みするやつはテストの点が悪い
テストの問題などそれが解けるかどうかを見たいのであって
それ自体に大した意味はない
2020/05/14(木) 18:53:37.14ID:vCkOIzUf
それはそのテストが能力評価試験か
あるいは単なる選別試験化によること
2020/05/14(木) 19:33:13.92ID:TM7TYhs5
>>517 Ruby
回答が困難な例を考えてみた

require 'etad'.reverse

foo = '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'
2020/05/14(木) 19:45:30.93ID:0XakIAB2
馬鹿か。
525デフォルトの名無しさん
垢版 |
2020/05/14(木) 19:59:06.24ID:9P667XH0
お題
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
526デフォルトの名無しさん
垢版 |
2020/05/14(木) 20:01:48.04ID:9P667XH0
小規模なシステムだとサーブレットでipのフィルタリングすることあるから結構実用的だと思う
2020/05/14(木) 20:08:05.34ID:jKQspZfc
denyだけ調べりゃいいんでない?
528デフォルトの名無しさん
垢版 |
2020/05/14(木) 20:24:36.69ID:9P667XH0
>>527
そういうわけでもないんよ

例えば
deny 0.0.0.0/0
allow 20.8.5.34

とした場合、20.8.5.34は許可するけど、それ以外は全部拒否っちゃうみたいな
ホワイトリスト方式の使い方も想定してるんよ

システムの入り口のところなので大量のリクエストを裁かなければいけないので
できるだけ高速に動作するように、さらにアクセス制御リストに変更があった場合に
即座に反映するために外部リソースから読み取るようにしておいてみたいなことも
考えると良い暇つぶしになるよー
2020/05/14(木) 20:32:03.68ID:jKQspZfc
>>528
なるほど確かにその通りであらう
2020/05/14(木) 20:59:39.91ID:lLI6eB7P
何をあらうんだよ…
2020/05/14(木) 21:00:22.99ID:wD9bKf3u
2020/05/14(木) 21:04:20.89ID:AeCxRE84
歴史的仮名遣いだろう
2020/05/14(木) 21:04:56.76ID:kU1rpgyO
>>527はdenyとでないを掛けた洒落
>>529もあろうの歴史的仮名遣いのあらうとallowを掛けた親父ギャグでしょ
2020/05/14(木) 21:07:43.58ID:wD9bKf3u
説明しなきゃいられないところがオヤジ
2020/05/14(木) 21:09:08.46ID:kU1rpgyO
なんで親父ギャグ(多分)の解説しただけで親父扱いなんですかねぇ
2020/05/14(木) 21:10:15.88ID:qtdgHxAv
1番恥ずかしいのは>>532君ですね。
2020/05/14(木) 21:24:44.88ID:wD9bKf3u
それは間違いない
2020/05/14(木) 21:44:56.84ID:bVs50nsv
/??la?/であろう
2020/05/14(木) 21:45:35.19ID:bVs50nsv
もじばけ?
/?`lau/
2020/05/15(金) 23:46:30.15ID:PLtuBlLM
>>525>>528 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];
  } 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
541540
垢版 |
2020/05/15(金) 23:48:47.34ID:V3+gK270
>>540
ゴメン、これ間違いがある
2020/05/15(金) 23:58:42.92ID:b6XlKvF2
あなたはお腹が空くと、[DENY]ーズにいくのだ[ALLOW]ね。
543540
垢版 |
2020/05/16(土) 00:00:07.30ID:6i7hUAj2
>>540
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];
2020/05/16(土) 00:38:46.63ID:mmCD1xOl
お題: ペナルティ方式でパスワードの強度を判定するプログラム。「弱い」「普通」「強い」の3段階で判定する。

5文字より短いパスワードは「ダメ」
「3AAA1567」のような同じ文字が3文字以上並んでる場合は「ダメ」
「1234567」「abcdefg」などの規則的なものは「ダメ」
パスワード辞書に登録されているパスワードは「ダメ」
英単語辞書に登録された単語そのものは「ダメ」
英単語辞書に登録された単語を含むものは「あまり良くない」
英字のみは「あまり良くない」
数字のみは「ダメ」
「2020/5/16」「20.5.16」のような日付に見えるものは「ダメ」
545540
垢版 |
2020/05/16(土) 00:46:40.04ID:fpR/KoQd
あんさんのお代に共通して言えることだけど、
難易度はさておいて、パスワード辞書に登録されているか調べたり
英単語辞書に登録された単語化調べたりするのは
それなりに冗長でサイズがかさんで回答しにくい。(難易度とは別に手間がかかる)
こういうところに出すお題は、もっと手短にかける回答になるないと
対応しにくい
2020/05/16(土) 01:11:12.68ID:Y5etVgbs
おまえはお題コンプマンだしなw?
547540
垢版 |
2020/05/16(土) 01:16:31.49ID:qT19c9Q0
また荒れるようにあおる理由は何よ
2020/05/16(土) 01:17:01.29ID:lk9pP577
テスト用なんだし適当に辞書に数個のデータ書いとけば良くね?
入力例を書くのと同じようなもんでしょ。
549540
垢版 |
2020/05/16(土) 01:18:31.56ID:qT19c9Q0
>>548
まかせた。
俺はこのお題は下りる。
2020/05/16(土) 01:25:07.67ID:lk9pP577
自分が指摘されたら無意味な煽りで逆切れか
2020/05/16(土) 01:27:06.62ID:MtRD2Sio
>>550
お前、変な絡み方するな。
何か文句あるのか
2020/05/16(土) 01:38:56.04ID:+1fKeI4G
>>525
C++
Boost.Asio使ってみた
https://wandbox.org/permlink/0AHpUmYq4xGUM6JT
2020/05/16(土) 01:40:21.32ID:lk9pP577
>>551
貴方は誰だろ
2020/05/16(土) 01:45:48.02ID:wIXI/yEm
https://www.youtube.com/watch?v=xQvGRMZZRjo
2020/05/16(土) 01:57:03.11ID:gANc9GME
>>544
規則的というのがよくわからんな
aceg
13579
314515926
あたりがいいのか悪いのかわからん
2020/05/16(土) 02:44:30.09ID:XVsJeOb7
なんでそんな細かい?
案件が何か?
2020/05/16(土) 04:31:36.99ID:Oh3+MfsL
>>544
めんどくさいから一部だけ
https://ideone.com/K7iXjl
2020/05/16(土) 06:25:37.52ID:d1TWh4yW
難しいことはどうでもいいんだよ
糞コテなんかNGに入れて無視しとけ
2020/05/16(土) 09:12:22.88ID:F27qhMVV
>>553
お前が誰だよ
2020/05/16(土) 09:13:48.41ID:F27qhMVV
>>548
はよ
2020/05/16(土) 13:21:04.33ID:u4MIIZu6
キレんなよperlおじさん…
562デフォルトの名無しさん
垢版 |
2020/05/17(日) 01:00:50.47ID:3JQ6JRsi
>>561
2020/05/17(日) 01:02:26.74ID:vYrP6+Tp
>>562
2020/05/17(日) 01:05:18.78ID:m/RKzw04
クソスレageるなクズが
565デフォルトの名無しさん
垢版 |
2020/05/17(日) 01:06:25.12ID:EUq6tLtb
お客さん、お口が悪いですよ。
566デフォルトの名無しさん
垢版 |
2020/05/17(日) 01:12:24.60ID:75sCr/7U
>>563
567デフォルトの名無しさん
垢版 |
2020/05/17(日) 11:38:13.44ID:vMT2I4CL
>>566
2020/05/17(日) 13:24:57.94ID:ven71fGO
remember perl barber
569デフォルトの名無しさん
垢版 |
2020/05/17(日) 18:19:26.07ID:aqCjusZQ
>>525
Rust
https://paiza.io/projects/b01Tx5Gn26u84j2G35fEyg
570デフォルトの名無しさん
垢版 |
2020/05/18(月) 01:41:36.07ID:2yVQDSrG
>>525
Kotlin

https://paiza.io/projects/wKpfV5894x2rnGj0zN8hHw

allow, deny は共に複数指定可能にした。
571デフォルトの名無しさん
垢版 |
2020/05/19(火) 20:39:41.77ID:8HY/3oGP
「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
https://www.excite.co.jp/news/article/President_35457/
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
2020/05/20(水) 19:45:40.23ID:7wrEZNzM
お題
N×M個の頂点からなる格子状の無向グラフが与えられる。
グラフのエッジは隣同士の頂点を結んでいる。

このグラフの全域木を一つ出力せよ。
ただし、横線と縦線の数は同じでなければならない。

[入力]
N M (N, Mは3以上の奇数)

[出力]
頂点'o'、横線'-'、縦線'|'を使って全域木を描画せよ。(答えは複数あり得る)

[入力例]
3 7

[出力例]
o-o-o-o-o-o-o
|.|.|.|.|.|.|
o.o.o.o.o.o.o
|.....|...|..
o-o-o.o-o.o-o
※表示の都合上、スペースは'.'に置き換えています。
2020/05/20(水) 23:01:41.75ID:2ebYf5N5
>>572 Ruby
n, m = gets.split.map{|s| s.to_i}
na = [ ['-']*(n+m), [' ']*(n*(m-1)-n-m) ].flatten.shuffle
ma = [ ['|']*(n+m), [' ']*(m*(n-1)-n-m) ].flatten.shuffle
n.times{|y|
puts [ na[y*(m-1)...(y+1)*(m-1)].map{|s|'o'+s}, 'o' ] * ''
puts ma[ y*m...(y+1)*m ].join(' ') if y != n-1
}
574デフォルトの名無しさん
垢版 |
2020/05/20(水) 23:05:23.83ID:LJzSJjXI
お題:二重振り子を数値計算でシミュレーションせよ
575デフォルトの名無しさん
垢版 |
2020/05/20(水) 23:17:13.51ID:LJzSJjXI
運動方程式
https://ja.wikipedia.org/wiki/%E4%BA%8C%E9%87%8D%E6%8C%AF%E3%82%8A%E5%AD%90
2020/05/22(金) 12:58:56.52ID:QNXRWxiX
お題: 入力文字列に機種依存文字が含まれているか判定するプログラム。
577デフォルトの名無しさん
垢版 |
2020/05/22(金) 19:35:14.22ID:MygyNOFw
>>576
Java
https://paiza.io/projects/JZK-wb067CJVSzCDtiU8DQ
2020/05/22(金) 19:52:54.26ID:GgyK+ULi
>>576 C
#include <stdio.h>
int check( unsigned char uc ){
return( uc == 0x40 || uc >= 0x5b && uc <= 0x5e || uc == 0x60 || uc >= 0x7b && uc <= 0x7e || uc >= 0x80 );
}
void main(){
char ch;
while( (ch = getchar()) != EOF )
check( ch ) && printf( "Check %02X '%c'\n", ch, ch );
}
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況