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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/02/03(日) 11:21:53.20ID:72eosYJ+
プログラミングのお題スレです。

【出題と回答例】
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/

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

※前スレ
https://mevius.2ch.net/test/read.cgi/tech/1538096947/
2019/02/28(木) 22:09:31.89ID:DbAr3TBt
なにこれ?組み立てたらガンダムになるの?
2019/02/28(木) 22:33:12.22ID:lyW2+AsV
>>410 ruby
https://ideone.com/lGQ1lX
f = -> s {[''].product(*s.chars.map {|c| [c, c.upcase]}).map(&:join)}
p %W(#{} a ab).map {|s| [s, f.(s)]}

[["", [""]], ["a", ["a", "A"]], ["ab", ["ab", "aB", "Ab", "AB"]]]
2019/03/01(金) 11:41:54.16ID:RkKCNcIA
>>411 下らんお題出すなよ。
445デフォルトの名無しさん
垢版 |
2019/03/01(金) 14:53:48.06ID:ber2ILYj
>>444
それお題じゃない
2019/03/01(金) 16:58:28.80ID:KMRxw/mf
>>444 >>441 の間違い
2019/03/01(金) 17:54:01.28ID:nsJzseJ0
読み手の環境を変えさせるようなお題は不適切。
2019/03/01(金) 18:00:52.30ID:nsJzseJ0
というか >>441 の問題が意味不明。 スクリーンショットで示してみなよ。 俺はやらんだろうけど。
2019/03/01(金) 18:05:43.92ID:nsJzseJ0
>>441 なんかプログラムの練習の前に、日本語のおさらいをした方が良い人間が見受けられるな。

プログラムはチームワークだから、他人に仕様が正確に伝えられなければその時点でそのプロジェクトは失敗。
理解しやすい言葉で混乱が起きない様に示すのが当たり前では?
それができない人はプログラムで問題を出しなさいよ。
450デフォルトの名無しさん
垢版 |
2019/03/01(金) 18:35:43.56ID:ber2ILYj
え?>>441はわかるよ。俺がエスパーなだけ?w
2019/03/01(金) 18:38:47.53ID:nQNJhNQv
俺もわかるけどわかりにくいと思った
2019/03/01(金) 19:02:55.70ID:KgoMIpD3
なぜ#1つで4つの4角形になるんた?
#を図形として見た場合一致しないと思うんだが
453デフォルトの名無しさん
垢版 |
2019/03/01(金) 19:26:25.34ID:ber2ILYj
記号を罫線ので作った四角にしろってことでこの場合は#だったってだけでは?
なんだったら「田」から変換するようにすれば雰囲気がマッチして良いかも知れんな。気分の問題だが。
454デフォルトの名無しさん
垢版 |
2019/03/01(金) 19:55:55.91ID:HvpZFnzz
>>441 Common Lisp
https://ideone.com/kzHGwq
2019/03/02(土) 01:29:28.31ID:og4HVKiE
>>441 でたらめだろ。 #が田形3マスになるのは良いとして、ドットが何で3マスになったり、1マスになってるんだよ。

#..###.####.
..#.....##.#
#.#....#.#.#
....#.#...#.
123456789いろはにほ123456789へと
┌┬┐   ┌┬┬┬┬┬┐ ┌┬┬┬┬┬┬┬┐  
├┼┤   ├┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┤  
└┴┘ ┌┬┼┴┴┴┴┴┘ └┴┼┼┼┼┼┴┼┬┐
    ├┼┤         ├┼┼┼┤ ├┼┤
┌┬┐ ├┼┤       ┌┬┼┴┼┼┤ ├┼┤
├┼┤ ├┼┤       ├┼┤ ├┼┤ ├┼┤
└┴┘ └┴┘ ┌┬┐ ┌┬┼┴┘ └┴┼┬┼┴┘
        ├┼┤ ├┼┤     ├┼┤  
        └┴┘ └┴┘     └┴┘  
2019/03/02(土) 01:35:36.81ID:og4HVKiE
>>455 ごめん、罫線だから、0.5ずれてたのか。 しかしわかりにくい問題だな。 
もしかして自分の仕事を人に押し付けようとしていないか? 
2019/03/02(土) 03:13:42.38ID:xuPe2CJ9
>>441 Java
https://ideone.com/VLzcnO
2019/03/02(土) 11:02:58.51ID:H6jPx1zC
専用ブラウザじゃ等副フォントなんて選べないのがあるのを知らないのか?
BB2Cでは、英字は等幅が選べても、漢字にはフォント設定すらない。

Jane Doe View も MSゴシックを選択しても等幅にならない。
読み手の設定を変えさせる問題なんて2chにはふさわしくない。
2019/03/02(土) 11:17:11.62ID:xuPe2CJ9
俺は等幅で見てくれってあったら、設定を変えるんじゃなくてメモ帳にコピペして見るけどなー
2019/03/02(土) 11:41:44.38ID:og4HVKiE
>>459 そうやって見たけど面倒くさい。 やるならどこかのサイトに張り付けるか画像で出題すべきだろ。
2019/03/02(土) 11:42:35.75ID:jZcAiOx4
おれなら出題を諦めるなw
462デフォルトの名無しさん
垢版 |
2019/03/02(土) 11:43:11.78ID:chZTsz9F
問題とかずに問題への文句ばかり垂れるってお前らにしては珍しいな
問題とけよクズども
2019/03/02(土) 11:55:57.51ID:xuPe2CJ9
>>462
お…おれはやってるよっ
2019/03/02(土) 11:55:57.58ID:jZcAiOx4
>>462
ぐ、ぐむーっ
2019/03/02(土) 11:56:34.18ID:xuPe2CJ9
>>463-464
この間0.07秒である
2019/03/02(土) 12:11:05.29ID:JYk2NVzi
この広い日本のどこかに同じ時に同じレスに反応してしまった二人がいる。
プログラミングの世界は奥が深いな……
2019/03/02(土) 13:30:29.30ID:og4HVKiE
>>466 良いお題を解いたね。
2019/03/02(土) 16:02:22.23ID:xke/YE7F
>>453
なるほどそういうことか
469デフォルトの名無しさん
垢版 |
2019/03/02(土) 16:22:52.10ID:ZN4ZPl7z
>>457
なるほど

>>411 Common Lisp (>>457の移植)
https://ideone.com/OTuTMy

すごいなあ、こんなの全然思いつけない
文字を文字のままどうにかしようとしてぐちゃぐちゃになったのが>>454でした
470デフォルトの名無しさん
垢版 |
2019/03/02(土) 16:25:46.70ID:ZN4ZPl7z
>>469
アンカミス
>>411>>441
2019/03/02(土) 16:49:20.52ID:R507/Kbo
全く面白くない。
2019/03/02(土) 20:23:12.84ID:bDAZjPpu
>>471
自分の好みじゃないと面白くないなんて小学生か。
黙ってスルーするか、自分が好みの問題だして盛り上げたらどうだ?
473デフォルトの名無しさん
垢版 |
2019/03/03(日) 08:56:00.68ID:NMVimqZR
お題:2つの円が重なった時、重なった部分の面積を求めなさい。
2019/03/03(日) 13:28:27.28ID:TjAANgsg
含まれている場合も考えなきゃならんな…
475デフォルトの名無しさん
垢版 |
2019/03/03(日) 17:19:17.78ID:e91Lt8pq
>>473
わかりません。
2019/03/03(日) 17:21:20.86ID:KlFuUPR7
距離と半径くらい指定しろよ。
2019/03/03(日) 17:48:01.52ID:EHdvkNdx
>>475
分からない人は答えなくていいし黙って見ていればいいよ
2019/03/03(日) 18:41:09.09ID:TjAANgsg
>>476
任意に対応すべきだろJK
2019/03/03(日) 18:55:07.69ID:TjAANgsg
>>476
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1263968897

このサイトは具体的な座標と半径について手計算で解いた例だけど、
座標と半径を一般化して連立二次方程式を解いて交点を求め、
三角形と円弧の面積の差を求めれば重なり合う2円弧の面積が算出できる。
小さい円の中心が大きい円の内側にある場合は、
三角形と円弧の面積の差の求め方を逆にする。
小さい円が大きい円の完全に内側にある場合は、小さい円の面積とする。

x,y座標で式を立てるより、曲座標で表して三角関数使うほうが楽かもしれない。

これをプログラム化すれば良い、筈【だと思う。

以上。
480デフォルトの名無しさん
垢版 |
2019/03/03(日) 19:21:30.98ID:yjYtaUkW
2つの中心を通る線をX軸としてX軸と交わる点の端っこを原点して円の交点と半径で
円一個ずつ積分して面積を出して合わせるしかないだろ。
2019/03/03(日) 19:28:30.68ID:r5nrErEk
半径と中心間の距離から円の交点間の距離(=弦)がわかるから
正弦定理とarcsinで中心角を求めればあとはただの掛け算と引き算だろ
2019/03/03(日) 19:33:55.32ID:TjAANgsg
>>481
二次方程式解かないで済みそうだな
2019/03/03(日) 20:19:21.58ID:ot+8d2KD
それが一番シンプルそうだな
2019/03/03(日) 20:23:33.79ID:8CruhG40
プログラム的には円同士の位置関係で場合分けして、あとは計算一発だから二次方程式をいやがる必要もなくない?
485デフォルトの名無しさん
垢版 |
2019/03/03(日) 21:06:33.77ID:XGcp5yLx
>>473 C
ttps://ideone.com/trIqHx

画像も参照。
ttps://imgur.com/i2G9Ahd
486デフォルトの名無しさん
垢版 |
2019/03/03(日) 22:28:24.90ID:XGcp5yLx
>>485
条件分岐が間違っていたので修正。おそらくあってると思う
https://ideone.com/DjZqEY
余弦定理を使う方法しか思いつかなかったから、それでやった
2019/03/04(月) 01:00:55.59ID:q2TdavLp
488デフォルトの名無しさん
垢版 |
2019/03/04(月) 07:57:27.52ID:7HyVHUwF
お題:不等間隔で与えられる関数表から1次とか2次で補間をしなさい。
2019/03/04(月) 11:04:59.42ID:9wLIIjqc
お題: 2つの任意の英数字からなる芸術的なアスキーアートを出力しろ
2019/03/04(月) 11:07:25.78ID:9wLIIjqc
お題: アスキーアートで芸術的な直線を出力しろ
2019/03/04(月) 12:15:59.00ID:9wLIIjqc
お題: アスキーアートで芸術的な木のアスキーアートを出力しろ
2019/03/04(月) 13:00:20.39ID:enTqHBl5
お題: このバカをどうにかしろ
2019/03/04(月) 13:06:53.32ID:mOK2oiAk
>>489>>490>>491
どうぞ……
https://mevius.5ch.net/test/read.cgi/motenai/1546340528/
2019/03/04(月) 18:59:01.31ID:R4eMfGlu
お題 全角空白区切のCSV

カレントディレクトリにあるCSVファイルを読み込み、指定されたカラム名のデータの合計を求める。
1レコード目にはカラム名がある。
区切り記号は全角空白とする。 データの数字は全てASCII数字だとする。

CSVファイル内のデータ例

カラム1 カラム2 カラム3 カラム4
1,0 2.0 3.0 4.0
2.1 3.1 4.1 5.1
------データ例終わり

出題 カラム3 の合計を求めよ。
解答例 カラム3 = 7.1
2019/03/04(月) 19:01:33.11ID:wk4fvbO+
カンマとピリオド間違えたら死ぬぞ。気を付けれ。
2019/03/04(月) 19:03:32.42ID:rdjSvZ2C
>>494 間違い

データに 1,0 という間違いがあるけど問題ないだろ。
ついでに、この状態でカラム1の様にデータフォーマットが違う場合には正しくデータエラーを報告せよ。
2019/03/04(月) 19:10:24.71ID:wk4fvbO+
日本やアメリカでは、ピリオドは文の終わりや小数点として使う。

カンマは文章途中の区切りや複数の項目の区切りに使う。
2019/03/04(月) 19:12:27.62ID:rdjSvZ2C
>>497 問題に関係ないことを言うなよ。
499デフォルトの名無しさん
垢版 |
2019/03/04(月) 19:12:28.56ID:TpCWsYE8
>>494
awk。-F オプションで指定しているのが全角スペースね。OSやシェルの違いによってはシングルクオーテーションではなくダブルクォーテーションにする必要がある。入力はファイル名指定するか標準入力から読ませる。

awk -F' ' 'BEGIN{getline}{n+=$3}END{print n}'
500デフォルトの名無しさん
垢版 |
2019/03/04(月) 19:15:20.56ID:TpCWsYE8
awkはデータフォーマットがおかしくても適当に0ってことにしちゃったりしてエラーにならんのでデータ異常まで調べたいなら他の言語使った方が良いだろうな。
2019/03/04(月) 19:16:48.51ID:rdjSvZ2C
>>499 カラム名を指定してよ。カラム名は指定された名前であり固定ではない。
502デフォルトの名無しさん
垢版 |
2019/03/04(月) 19:22:30.38ID:TpCWsYE8
>>501
あー。じゃあ後で他の言語で作るか。
2019/03/04(月) 19:42:58.86ID:0eAiVVhP
お題:端末の横幅が与えられるので(*´ω`*)を端末の中央に表示せよ
2019/03/04(月) 20:14:28.23ID:/O719wMt
このバカどうにかしろ
あとチンポジ代わりに直せ
2019/03/04(月) 21:14:51.56ID:x+RRe849
>>503 Ruby
w = 120
printf("%s%s\n", " " * ((w - 10) / 2), "(*´ω`*)")
506デフォルトの名無しさん
垢版 |
2019/03/05(火) 01:17:51.32ID:irQmeRjm
茨木 保健
貴老沢 風花
鬼塚 海鈴
鬼埜 可恋
儀賀沢 一愛
嫌沢 宮子
己問 彩姫
寺沢 七彩
寿川 瑞紀
樹木山 美咲
宗田 純
女ケ沢 美優
女ケ澤 飛鳥
女鹿沢 祐奈
2019/03/05(火) 03:28:01.02ID:CZi591h7
>>494
Ruby で

require 'csv'

# 全角空白区切りで、ヘッダー有り
options = { :headers => true, :col_sep => " " }

# CSV ファイルを、1行ずつ処理する
puts CSV.foreach( "input.csv", options )
.map{ |row| row[ 2 ].to_f }.inject( :+ )
2019/03/05(火) 07:59:44.57ID:0SMIqw+w
>>507 カラム名サーチが入っていないみたいだけど。
例えば ”カラム3” と言うカラム名が指定されたとして書いてみて。3列目と言うことじゃないからね。

カラム4 カラム2 カラム1 カラム3
かも知れない。
2019/03/05(火) 08:10:31.80ID:utDz1VTj
変な流れが続いていたから、バカっぽいお題をいくつか出した後に一見まともそうなお題のふりして宿題をやってもらおうという腹かと勘ぐってしまう。
2019/03/05(火) 09:08:51.84ID:BKNc7BtY
>>509
お前の思いちゃんと伝わったよ
問題解けクズ
2019/03/05(火) 09:12:40.32ID:DIrFqE8l
>>510
宿題は自分でやれカス
2019/03/05(火) 09:42:11.28ID:BKNc7BtY
>>511
お前の宿題だが
2019/03/05(火) 09:45:18.09ID:DIrFqE8l
死ね
2019/03/05(火) 11:33:12.77ID:7U5lBe0C
だから言語制限なしで通すとやっぱネタギレじゃん
2019/03/05(火) 12:09:12.75ID:KQ31R4yU
お題1: テトリスタイリング問題を解決しろ
ここでテトリスタイリング問とは任意の図形のアスキーアートを入力すると
全てのテトリスのブロックに隣接するブロックの種類が異なるようにタイリングしたアスキーアートを出力する
問題である

お題2: テトリスタイリングNブロックス問題を解決しろ
ここでこの問題は上の問題でブロックの種類の数Nを最小にする問題である

例:
入力:
****
****
****

出力:
1002
1002
1122
2019/03/05(火) 12:21:13.18ID:WJ/srpVX
>>515
これじゃダメなのか?

1011
1001
1101
2019/03/05(火) 12:23:52.27ID:KQ31R4yU
>>516
それでもええで
2019/03/05(火) 23:56:55.78ID:0SMIqw+w
>>515 ボクちゃんわかんない。
何で縦の列は1とか同じ種類が許されてるの? なんか上から下へとか言う動きを前提にしてるの?
2019/03/06(水) 01:19:54.96ID:tTGpH/KM
>>518
https://upload.wikimedia.org/wikipedia/commons/9/9a/Tetrominoes_letter_oriented.png
片面テトロミノ(画像参照)を回転させて指定の形に詰め込め
ただし、同じテトロミノを隣接させてはいけない。 ってことじゃろ

515の出力例でいうと、
0は画像の水色、1は黄色、2は紫色の奴ってこと
2019/03/06(水) 08:04:05.66ID:bBth0ZZS
>>515 その出力例だと、タイルの種類は3種類じゃないの?
1と2を同じだとみなせば、同じ種類と隣接するからダメだろ?

>>516 だと完全に2種類だが。
2019/03/06(水) 10:13:54.30ID:Z0o65K/P
>>520
>>519
2019/03/06(水) 11:44:29.70ID:cM1JcwP7
>>521
だからこそ出題例>>515は3種類のブロックを使ってるんだろ? 
2種類で出来ていないから問2に対しては不正解では?
2019/03/06(水) 11:58:00.89ID:OdnfdSEH
>>522
例がお題2とお題1両方の答えになっているなんてことはどこにも書いてないだろ
例を見ればだれでもどのお題の答えかわかるだろ
2019/03/06(水) 12:34:51.62ID:cM1JcwP7
>>523 誰でも解ると言うのは言い過ぎ。 何が正しいのかを示すのが例なんだし。
なんにせよお題の出し方が独断すぎるよ。
テトリスタイリングなんて知らない人にとっては説明不足だし
>>519 の説明があって初めて平面上の回転図形は同じとみなし、裏表の回転は許さないと解るけど。
それでも519のブロックは4個の組み合わせのブロックしかないが、どうして4個固定なのか? 最大辺の個数を単位とするのか?

この場合は5個固定?
***
***
***
***
***
2019/03/06(水) 12:44:07.40ID:OdnfdSEH
>>524
釣りだろ?
本当にわからないのなら病院に行くレベルw
526516
垢版 |
2019/03/06(水) 12:54:30.31ID:lTLUMkgQ
>>523
分からなかった
527デフォルトの名無しさん
垢版 |
2019/03/06(水) 12:57:33.38ID:FCOQEIBI
わかっても今のところ解く気は起きない
2019/03/06(水) 12:58:29.33ID:Z0o65K/P
>>522
あなた、前に書き込んでた中卒の人?
529デフォルトの名無しさん
垢版 |
2019/03/06(水) 13:01:54.00ID:uLgh04dF
>>199>>441が理解できなかったってやつと同一人物なのは分かる
2019/03/06(水) 13:08:31.07ID:URj2ByGk
>>524
>どうして4個固定なのか? 

テトリスってゲームがあってそれに出てくるブロックが>>519

>>515
>全てのテトリスのブロック

https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%88%E3%83%AA%E3%82%B9
テトリス
>4つの正方形を組み合わせて作られた、片面型テトロミノ状のブロックピース
>(以下の7種、本作ではこれらを「テトリミノ」(Tetrimino)と呼ぶ)
>がフィールド上方からランダムに1種類ずつ落下してくる。
2019/03/06(水) 13:09:30.85ID:f/NWPYTA
>>441は分からんかった
問題を考えさせてほしい
問題文を考えさせるんじゃなく
2019/03/06(水) 13:50:33.24ID:cM1JcwP7
>>530 片面テトリミノの基本は4個だけどこれを使う前提なら、3x5とか4の倍数の面積にならない図形は解けないよね。
聞いてるのは3x5はどうするのと言う話。
2019/03/06(水) 14:02:02.94ID:URj2ByGk
>>532
「解けない」でいいんだろ
2019/03/06(水) 16:31:44.46ID:OdnfdSEH
>>532
この問題は君の思ってる小学校の算数とは違うんだよ
2019/03/06(水) 18:11:04.36ID:+4ROOaYr
問題の難しさと、問題の曖昧さは関係ないけどな。
難しい問題の条件が曖昧だと鼻から解く気になれない。
2019/03/06(水) 18:18:58.86ID:OdnfdSEH
考えればわかることまでいちいち書かないのは常識
それを曖昧とは言わない
2019/03/06(水) 19:39:35.98ID:RlXQ9XDp
数学者は常識人
2019/03/06(水) 19:40:44.95ID:L0cGL7i+
当たり前のことでもいちいち全部書くのがこの業界の常識だが
2019/03/06(水) 19:57:47.15ID:2Etc0l5z
仕様書をやりとりしてみれば如何に他人に解らせることが難しいか理解できると思うけどな。 多分出題者は余り経験していないんだろう。

仕様をいい加減で進めても後で痛い目を見るのは自分。
(最初は完全でないのは当然、打ち合わせで抜けを詰めていけば良い話)
2019/03/06(水) 20:41:28.07ID:OdnfdSEH
>>538
テトリスがなにかなんて自分でググって調べればいいことだろ
そんなことまで面倒みれない
541デフォルトの名無しさん
垢版 |
2019/03/06(水) 20:51:34.66ID:Xwbjxxrc
お題の面白さに共感しなければ趣味だから解かない。
542デフォルトの名無しさん
垢版 |
2019/03/06(水) 21:21:50.81ID:FCOQEIBI
そういや安かったのでPS4用のテトリスを何気なく買って連日やってたら慣れてきちゃってレベル15の40ライン消しが楽にできるようになってしまったなあ。
今さらテトリスうまくなってどうすんだ俺w
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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