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

■ このスレッドは過去ログ倉庫に格納されています
2019/07/28(日) 19:39:57.54ID:832c/ukY
プログラミングのお題スレです。

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

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

※前スレ
プログラミングのお題スレ Part14
http://mevius.5ch.net/test/read.cgi/tech/1558168409/
2019/08/17(土) 16:18:33.55ID:RHoMoFJP
>>137
ダンゴムシは初手でどこに向いてるの?北?Y+?X+?
2019/08/17(土) 16:19:06.00ID:hkO+8710
ヒント: 最初、スタートとゴールを囲むように壁を仮設する。ぶつからない壁は要らない。
2019/08/17(土) 16:20:08.58ID:hkO+8710
ダンゴムシはx軸方向です。y軸は数学と同じ上向きを仮定してます。
2019/08/17(土) 17:21:32.91ID:RHoMoFJP
Y+がビジュアライズして上になるかはビジュアライザーの挙動次第なのでいいのだけど。
最初はX+向いてるのね。承知。
2019/08/17(土) 17:25:39.14ID:RHoMoFJP
あ、もう一つあるんだ。
最初にダンゴムシが壁にぶつかったときは右と左どっち優先?

////

@#
////
の時。
方向がX+の時に左へターンしたら無限ループする。
逆に、方向がY+の時右にターンしたら無限ループする。

どや?
143デフォルトの名無しさん
垢版 |
2019/08/17(土) 17:28:20.45ID:uIV5R7Aj
> ただし、ダンゴムシは最初は右向きを向いていて、最初にぶつかったら左に曲がるものとする。
2019/08/17(土) 17:29:33.02ID:wzQeNn8E
>>142
>90度曲がって目の前にすぐに壁がある場合は同じ方へもう90度曲がるものとする。
2019/08/17(土) 17:29:46.66ID:RHoMoFJP
すみません。見落としていました。
大変申し訳ありません。
2019/08/17(土) 19:06:19.57ID:c+Xct49t
クソコテの相手すんなよ
2019/08/17(土) 20:39:30.65ID:hkO+8710
世界はクソにあふれている! 何てこった! この状況を! この状況を変えるためには、クソをせずに生きれる仕組みを! 皆様と一緒にクソをせずに生きれる仕組みを、実現して! 行きましょう!
2019/08/17(土) 23:18:56.65ID:+079Z1et
そこでファナモの出番なわけですよ
2019/08/17(土) 23:52:46.77ID:9or86GZG
それよりも交替性転換反応とやらが本当に生存確率を高めるのか
右にばかり曲がりたがる逃亡犯と左にしか曲がれない共産党員を例に
シミュレーションを繰り返すプログラムを書いて?(゚∀゚)
2019/08/18(日) 00:30:12.24ID:Onid3Fuw
FPSのレレレ撃ちでしょ
ゲームで実験結果がでているからYoutubeにGo
2019/08/18(日) 01:00:00.23ID:C9/yeHaG
あなた達は、実は自分で思っているほど
ソフトウエアの開発が得意ではないということに
まだ気がついてすら至っていない
2019/08/18(日) 01:50:38.18ID:f2ZPM7Xh
>>151
そうだよね。ソフトクリーム作るのって大変だね。ちなみに英語ではジェラートだからね。
2019/08/18(日) 02:07:00.19ID:4oEGaRbg
>>151
君は、実は自分で思っているほど日本語が得意ではないということにまだ気づいていない。
2019/08/18(日) 02:25:43.87ID:zcvAoSag
そう来ると思っていました。
2019/08/18(日) 16:17:40.63ID:YNXq+wty
>>137
https://ideone.com/6yBcTi
C++。多分できた。
O(1)かも。
2019/08/18(日) 16:41:42.29ID:YNXq+wty
一番だよ〜。ほめてほめて〜〜!!
2019/08/18(日) 17:02:53.87ID:MNRPGL9Z
乙。
2019/08/18(日) 17:05:38.20ID:Onid3Fuw
O(1)だよ
2019/08/18(日) 17:21:04.50ID:YNXq+wty
やっほーい。
2019/08/18(日) 17:59:15.27ID:f2ZPM7Xh
スタート地点に壁を作ってるみたい。アルゴリズムの詰めが甘いようだ。
2019/08/18(日) 18:37:31.03ID:YNXq+wty
>>160
表示の問題です。では済まないかい?
場所は保持してるよ?
2019/08/18(日) 18:38:29.32ID:Y3okjmnX
>>137 Java
https://ideone.com/oytRaT
2019/08/18(日) 19:10:36.63ID:f2ZPM7Xh
>>162
正解。
2019/08/18(日) 19:33:02.90ID:f2ZPM7Xh
お題: 壁で囲まれた何もない有限の部屋(面積5m^3前後)の中に、四方向に距離センサーが付いた、丸い形のお掃除ロボット(直径20cm)がある。
各距離センサーは、ロボットからその方向にある障害物までの距離を常に教えてくれる。
ロボットはその場で右または左に5度単位で自転するか、もしくは前方向に5cm単位で前進できる。
部屋全体のおおよその形がわかるまで、ロボットを動かしなさい。

例) 正方形の部屋
例) 正三角形の部屋
例) 凹の形の部屋
2019/08/18(日) 19:46:24.23ID:f2ZPM7Xh
直径20cmが入り込めない隙間は無視、もしくは壁と見なす。
スクリーンショットか動画を作れたら、30点加点する。
2019/08/18(日) 19:59:22.35ID:Y3okjmnX
面積なのに^3とはこれ如何に
2019/08/18(日) 20:17:13.38ID:OH7aQxbJ
>>164 >>166
訂正。m^2です。

参考資料:直線と線分の当たり判定
https://spphire9.wordpress.com/2013/01/14/直線と線分の当たり判定/
2019/08/19(月) 11:34:00.91ID:icNxZHqv
>>164
部屋の壁の構成が凹を基本としたヒルベルト曲線だったら「おおよその形」はそのロボットのAIは何と答えればいいの?
ttps://cdn-ak.f.st-hatena.com/images/fotolife/o/obelisk2/20161224/20161224022849.png
2019/08/19(月) 11:46:10.65ID:icNxZHqv
もしくは、「壁」とは何か
2019/08/19(月) 12:00:44.91ID:78Wz1qhX
>>160
一晩かんがえてみたんだけどね、ゆる〜くね。
スタートに壁作るなとは書いてないよね??
2019/08/19(月) 12:36:53.71ID:ChF0jSyn
4個目のスタート地点の壁を許しても、3個目の答えが間違えてるやん?
[-1,1]の壁を1回透過しないとゴールにたどり着けないやん?

まあ [*いしのなかにいる*] は許されないと思うけどw
2019/08/19(月) 12:50:21.54ID:78Wz1qhX
>>171
あぁ、なるほど、先において起動させる前提なのか。
オレ、動的にターン制で考えてたわ。
2019/08/19(月) 13:04:09.25ID:ChF0jSyn
動的ターン制って考えは思いつかんかった
その考えなら>>155でも問題ないな
2019/08/19(月) 13:05:56.48ID:78Wz1qhX
握手(非強制)
2019/08/19(月) 13:45:26.16ID:5pda5jNo
部屋の形を表すビットマップ画像、もしくは一個以上の多角形でいいよ。
2019/08/19(月) 13:49:12.41ID:5pda5jNo
誤差は気にしない、気にしない。
2019/08/19(月) 13:53:20.88ID:5pda5jNo
>>173
壁をいつ置くかの記述がなかった、設問の不備ということで、正解、にしときます。すみません。
2019/08/19(月) 21:12:29.11ID:78Wz1qhX
及第点!
2019/08/19(月) 21:48:51.89ID:KFTDhNgP
コテのくせに偉そうだな
180デフォルトの名無しさん
垢版 |
2019/08/20(火) 03:10:44.70ID:p19J/GFP
アスペばっかやんけこのスレ
2019/08/23(金) 16:30:48.96ID:GCcQKmFF
>>32
perl5
http://ideone.com/1qwl1U

ずいぶん前のお題だが面白い回答ができたので再提出
再帰する正規表現に perl-code 内蔵の正規表現
たぶんウルトラレア
2019/08/27(火) 08:48:20.54ID://c3Bn/y
>>4 Java
https://ideone.com/JHb8WE

>>5-6
> T = std::max(T,UI(mt));
> if (T >= C) { Re++; }
保持してる最大値でもう一回振るかどうか決めちゃってないかい?
2019/08/27(火) 20:29:01.48ID:ZWZUVJ+Q
>>182
振ったダイスが閾値超えてたら次の回を一回プラスしてる。
閾値C以上ならという判断。
2019/08/27(火) 20:38:02.13ID:ZWZUVJ+Q
あ、勘違いしてた。ちょっと待ってて。
2019/08/27(火) 20:41:11.53ID:ZWZUVJ+Q
>>4
https://ideone.com/1zA9kL
C++。フォークして修正してみた。これでいいかなぁ。
2019/08/27(火) 21:01:10.99ID://c3Bn/y
俺のとあってるし多分いいんじゃね?わからんが
でも>>5-6の時点で出題者からの突っ込みがないのが気になる
出題者出てきてー
2019/08/27(火) 21:06:40.25ID:ZWZUVJ+Q
https://ideone.com/XIuQ53
しつこいけど、変数名のかぶりが気持ち悪かったので書き直した。
それと、手元でデバッグ軽くやっておいた。
2019/08/27(火) 21:10:12.33ID:ZWZUVJ+Q
>>186
そりゃよかった。
出題者に宿題解かされたかな??
2019/08/27(火) 22:42:10.07ID:ZWZUVJ+Q
お題:値が変更不可能でインデックスだけ参照できるシャッフルされた配列を何らかの方法でソートする。その際配列や値のコピーは取れない。
C++でいう、constの配列をなんとか整列してみましょう。

自分の答え。:https://ideone.com/4S932i
2019/08/28(水) 00:04:27.28ID:4LHTj8UL
>>189 Perl5

use List::Util shuffle;

@a = shuffle 1..10;
@ix = 0..$#a;
print "@a\n";
@iy = sort{$a[$a] <=> $a[$b]} @ix;
print "@a[@iy]\n";

実行例
~ $ perl 15_189.pl
5 2 4 8 3 10 6 9 1 7
1 2 3 4 5 6 7 8 9 10
2019/08/28(水) 00:57:09.32ID:iZEqAFR9
激お題:自動プログラミングプログラムを作るか日本語で説明せよ。方法は各自の言語にゆだねる。

https://ideone.com/2UWc8g
自分は上記のようなものを作った。
4kb位のプログラムができるのに多分数年かかる。
コンパイラの通ったかというのを取れれば文章的に正しいやつは何かを残していく。
でも、コンパイラに投げる動作はわからないので入れてない。
2019/08/28(水) 01:00:49.34ID:iZEqAFR9
>>190
perlわからないけど、参加してくれてありがとう。
コードが短くて羨ましい。
2019/08/28(水) 01:14:30.34ID:mmOF8lug
>>191 ナンジャそれは、お題でもなんでもない。 まず日本語の勉強をして出直してこい。
お題も人に解る様に出せないような人間はプログラマの素質はない。
2019/08/28(水) 01:51:57.69ID:iZEqAFR9
>>193
どこが解りにくかったですか?
テストコードは、言語で使える英数記号類を全探索するモノです。
195デフォルトの名無しさん
垢版 |
2019/08/28(水) 12:29:21.50ID:gV1iThk/
>>194
>>191全体
2019/08/28(水) 14:09:15.46ID:iZEqAFR9
>>195
お題と余談が書いてあるだけだぞ。
とりあえず、刮目して自動プログラミングプログラムを作ってください。
作れなさそうなら、概要を日本語で説明してください。
2019/08/28(水) 14:20:49.15ID:iHRPACN2
まず自動プログラミングプログラムってなんだよ
お前の造語なんか知らんわ
2019/08/28(水) 14:40:15.76ID:9ymulh1y
ドメイン特化言語作れってことか?
199デフォルトの名無しさん
垢版 |
2019/08/28(水) 14:40:49.41ID:gV1iThk/
>>189
Kotlin
https://paiza.io/projects/hCnNPeSohDhcerAL2MMqag

こんなので良いのかな?

厳密に言ったら最後の出力文字列を作る時の map で値が取り出されて新たなリスト作るからコピーされちゃってんだけどね。
2019/08/28(水) 14:47:42.49ID:iZEqAFR9
「自動プログラミング」「プログラム」ですが何か。
DSLじゃないわ。
2019/08/28(水) 14:52:51.27ID:CKrqMRiB
1文字ごとにカンマが入って空白or改行を使わないプログラミング言語ってなんだろう…?
4kb(この表記だとビットかバイトかわからん)が数年で行けるってどういう計算だろう…?
2019/08/28(水) 14:59:27.89ID:iZEqAFR9
>>199
暗黙変数があるとオレ、フリーズしちゃうなぁ。
やったことない言語だけど、結果はあってると思う。
2019/08/28(水) 15:03:25.48ID:iZEqAFR9
>>201
文字の列挙のリストには抜けがあるかもしれない。
C++は改行しなくても空白さえあればかける気がするけど。

なお、字数が増えれば増えるほど遅くなる。

とりあえず、実行してみればわかるけど、検索文字を総当たりしてるだけだからね。
んで、コンパイラに投げて通るかどうかのチェック入れないといけないんだ。
2019/08/28(水) 15:06:25.36ID:iZEqAFR9
>>201
あぁ、指摘には感謝しておく。
4kbは大体4千字くらいか。
2019/08/28(水) 15:59:11.53ID:CKrqMRiB
字数が増えれば増えるほど遅くなる、の遅くなり具合がわかってない気がする
使用する文字の種類を60とした場合、総当たりで毎秒10億個生成できても19年で10文字くらいだよ
2019/08/28(水) 16:09:46.11ID:DKDzG5Os
ただの無限の猿定理では?
2019/08/28(水) 16:18:28.21ID:iZEqAFR9
>>205
うほ!そんな遅いんかいな。
オーダーよりパッションで作ったのでそこまで考えてない。
それが・・・現実・・・!!!

>>206
そんなかんじだねぇ。
2019/08/28(水) 16:19:08.51ID:DKDzG5Os
設問が悪い。
自動プログラミングプログラムの出力が不正でなければ良い→コンパイルエラーないしはランタイムエラーを出さない、で良いの?

phpのソースを書き出せば問題ない。
ランダムな文字列を出力し続けても、文字空間が64文字であれば、5文字目以降、毎回1/1073741824で失敗するがそれ以外のケースで自分自身を表示する正しいプログラムになる。
2019/08/28(水) 16:42:26.29ID:e0ao7N2r
>>200 自動プログラミングが何で数字の羅列なんだよ。
何処がプログラミングだよ。 こんな物どんなコンパイラを通したら意味を持ったプログラムになるんだよ。
2019/08/28(水) 16:43:40.35ID:e0ao7N2r
>>200 自分が日本語で説明してみろよ。
2019/08/28(水) 17:16:03.37ID:iZEqAFR9
>>209
エーっと、C/C++はポインタがあるので実行したマシン破壊する確率は高いな。
わざと文書的に正しければと書いてあるんだが、気づいてないな。

>>208
そうですなぁ。チェッカーがエラーを吐かないでよかった気がする。
2019/08/28(水) 17:16:54.34ID:iZEqAFR9
とりあえず、絶不評なので>>191は終了します。
お付き合いいただきありがとうございました。
2019/08/28(水) 17:33:20.06ID:DKDzG5Os
ガチでやるなら遺伝的アルゴリズムで遊んだほうが面白そうな話題ではある。
総当たりは分が悪い。
214デフォルトの名無しさん
垢版 |
2019/08/28(水) 18:50:08.98ID:sIwi/wTh
みんなまじめに小学生の相手して偉いなぁ
2019/08/28(水) 19:02:24.38ID:31wF8+fr
ネットでプログラムとかコードとかの記事検索して予約語が含まれるセンテンスをコピペするプログラムとかどう?(゚∀゚)<これを自動プログラミングと呼べるかどうか知らんけど
216デフォルトの名無しさん
垢版 |
2019/08/28(水) 19:28:19.63ID:gV1iThk/
>>212
最後まで何をやらせたいのかわからなかった。
2019/08/28(水) 20:50:01.23ID:f9cLfftu
>>214
そいつは小学生じゃなくて
わりと高齢の池沼だと思う
2019/08/29(木) 00:02:26.73ID:gFHz9oC8
まあ例のコテロートルだろうな
2019/08/29(木) 00:48:42.64ID:5IzqEHY7
お題: 入力として任意の長さのバイト列(半角アルファベット)が与えられる。入力を左から読み取っていくとき、
読み込まれるバイトの状態遷移を表すデータまたは画像を出力せよ。ただし、初期状態は'^'、終了状態は'$'で
表すものとし、状態遷移図のノードには重複がないものとする。

例)
"AKDAK"

^: A.
A: K.
K: D$.
D: A.
$: .
2019/08/29(木) 01:15:35.61ID:goo8Bnc2
mousukosikangaetekarasyutudasisiroyokusokotega
2019/08/29(木) 03:44:38.74ID:+saAg95g
>>220
kantansugitakana?
2019/08/29(木) 11:53:46.40ID:DcYjq8Qg
nande2do$ga deterunda?
223デフォルトの名無しさん
垢版 |
2019/08/29(木) 13:28:32.46ID:gjTy67rx
>>219
> 読み込まれるバイトの状態遷移を表すデータまたは画像

とは何か?
2019/08/29(木) 20:14:38.43ID:+saAg95g
>>223
状態遷移図。
2019/08/29(木) 20:21:57.74ID:1SU6nQHs
ループまで検出シロっていってるのかいな?
226デフォルトの名無しさん
垢版 |
2019/08/30(金) 00:51:59.58ID:0mnJOhtL
>>222
D$は、Dに遷移するか、または、$に遷移するって意味じゃないかな
2019/08/30(金) 01:22:20.46ID:Knt08H1L
ちゃうやろJK
edgeの終端が二股は有効グラフではNGやで
228デフォルトの名無しさん
垢版 |
2019/08/30(金) 06:09:58.43ID:N+Bub+CM
お題
1億以下の同じ数字でできている数(1,22,777など)をすべて表示する
2019/08/30(金) 06:52:02.20ID:BnHn7wdj
>>228
perl5
http://ideone.com/KwFHjS
2019/08/30(金) 06:53:07.28ID:BnHn7wdj
0抜けてた悔しい
231デフォルトの名無しさん
垢版 |
2019/08/30(金) 07:10:25.46ID:N+Bub+CM
>>228
自然数を対象とします。なので0は対象外。
2019/08/30(金) 10:00:13.13ID:/ZgOmfmJ
>>228 Ruby

p (1...9).flat_map{|i| (1..9).map{|j| j * (10**i - 1) / 9}}

# => [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99,
111, 222, 333, 444, 555, 666, 777, 888, 999, 1111, 2222, 3333,
4444, 5555, 6666, 7777, 8888, 9999, 11111, 22222, 33333, 44444,
55555, 66666, 77777, 88888, 99999, 111111, 222222, 333333,
444444, 555555, 666666, 777777, 888888, 999999, 1111111,
2222222, 3333333, 4444444, 5555555, 6666666, 7777777, 8888888,
9999999, 11111111, 22222222, 33333333, 44444444, 55555555,
66666666, 77777777, 88888888, 99999999]
2019/08/30(金) 10:54:33.08ID:TOyFnU58
>>228 Google Sheets
=ARRAYFORMULA(REPT(ROW(1:9), COLUMN(A:H)))

https://i.imgur.com/pKQgzAG.png
234デフォルトの名無しさん
垢版 |
2019/08/30(金) 11:37:28.31ID:Kz4M8rdT
>>233
評価。
235デフォルトの名無しさん
垢版 |
2019/08/30(金) 12:26:06.17ID:VkI78Ia/
>>228
同じ数字でできている数って?どういう意味?
236デフォルトの名無しさん
垢版 |
2019/08/30(金) 12:27:00.95ID:VkI78Ia/
あ、わかった。ごめん。
2019/08/30(金) 13:32:59.48ID:Tn7+4gKU
>>228 Pharo/Squeak Smalltalk

(1 to: 8) gather: [:n | (1 to: 9) collect: [:m | (Array new: n withAll: m) polynomialEval: 10]]

#(1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999
1111 2222 3333 4444 5555 6666 7777 8888 9999 11111 22222 33333 44444 55555 66666
77777 88888 99999 111111 222222 333333 444444 555555 666666 777777 888888 999999
1111111 2222222 3333333 4444444 5555555 6666666 7777777 8888888 9999999 11111111
22222222 33333333 44444444 55555555 66666666 77777777 88888888 99999999)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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