プログラミングのお題スレです。
【出題と回答例】
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/
探検
プログラミングのお題スレ Part17
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2020/03/13(金) 01:42:47.06ID:0rEhys36938デフォルトの名無しさん
2020/07/10(金) 21:08:49.94ID:+HNczGHj お題:"チューリングマシン"を使って一行CSVパーサーを作る
チューリングマシンも自作すること
【CSVの仕様】
・カラム値は「a」、「,」、「"」、の組み合わせ、または「」(値無し)しか取らない
・カラム値に「,」が含まれる場合は「"」で囲む必要がある、含まれない場合はどっちでもいい
・カラム値に「"」が含まれる場合は「\"」とエスケープする
入力例) "aa,a",aa,,"aa\"aa"
チューリングマシンからの出力例、Pythonの場合) [None, 'a', 'a', ',', 'a', None, 'X', 'a', 'a', 'X', 'X', None, 'a', 'a', None, '"', 'a', 'a', None]
(Noneは無視、'X'は区切りポイントを表している)
【開発規模】Pythonで15行程度
チューリングマシンも自作すること
【CSVの仕様】
・カラム値は「a」、「,」、「"」、の組み合わせ、または「」(値無し)しか取らない
・カラム値に「,」が含まれる場合は「"」で囲む必要がある、含まれない場合はどっちでもいい
・カラム値に「"」が含まれる場合は「\"」とエスケープする
入力例) "aa,a",aa,,"aa\"aa"
チューリングマシンからの出力例、Pythonの場合) [None, 'a', 'a', ',', 'a', None, 'X', 'a', 'a', 'X', 'X', None, 'a', 'a', None, '"', 'a', 'a', None]
(Noneは無視、'X'は区切りポイントを表している)
【開発規模】Pythonで15行程度
939デフォルトの名無しさん
2020/07/11(土) 11:44:08.13ID:60oNEnIZ チューリングマシンなのにPythonとは?
意味不明だ
意味不明だ
940デフォルトの名無しさん
2020/07/11(土) 11:48:42.38ID:KPNFpi8s メモリが無限にないので作れましぇん><
941デフォルトの名無しさん
2020/07/11(土) 11:50:41.57ID:60oNEnIZ 正方形の面積を求める問題に対して
この世に正方形なんて存在しないから求められません
とか言っちゃう系?
この世に正方形なんて存在しないから求められません
とか言っちゃう系?
942デフォルトの名無しさん
2020/07/11(土) 11:51:57.60ID:KPNFpi8s 比喩がとんちんかんだぞ
今回は「チューリングマシンも自作すること」って明言されてますやん
今回は「チューリングマシンも自作すること」って明言されてますやん
943デフォルトの名無しさん
2020/07/11(土) 11:56:32.56ID:8xOOoQBu 自作チューリングマシンを Pythonの改行15回程度で作れって?神だわ
944デフォルトの名無しさん
2020/07/11(土) 11:57:52.68ID:60oNEnIZ 動作を規定すればよくて
実際に動く機械を作る必要はない
実際に動く機械を作る必要はない
945デフォルトの名無しさん
2020/07/11(土) 11:59:10.62ID:60oNEnIZ と思ったが
Pythonでエミュレーターを作れって事か?
Pythonでエミュレーターを作れって事か?
946デフォルトの名無しさん
2020/07/11(土) 12:00:00.07ID:60oNEnIZ 別に無限にメモリがある必要は無いけど
実際に動くどんなプログラムにも限界がある
実際に動くどんなプログラムにも限界がある
947デフォルトの名無しさん
2020/07/11(土) 12:01:06.17ID:KPNFpi8s >>946
メモリが有限だったらチューリングマシンとはいいましぇん><
メモリが有限だったらチューリングマシンとはいいましぇん><
948デフォルトの名無しさん
2020/07/11(土) 12:01:59.62ID:2Qc0/uE/ 適当な言語で状態遷移機械つくればええんちゃう
949デフォルトの名無しさん
2020/07/11(土) 12:02:26.85ID:8xOOoQBu しかもCSVパーサーって
つまりはPython15行でExcelを再現しろと?
つまりはPython15行でExcelを再現しろと?
950デフォルトの名無しさん
2020/07/11(土) 12:13:26.90ID:6CWHpJ6z >>938の生成言語
CSV → COL | COL ',' CSV
COL → '"' WCOM '"' | NCOM
WCOM → ε | 'a' WCOM | ',' WCOM | '\' '"' WCOM
NCOM → ε | 'a' NCOM | '\' '"' NCOM
状態セル10個前後でいけそう
CSV → COL | COL ',' CSV
COL → '"' WCOM '"' | NCOM
WCOM → ε | 'a' WCOM | ',' WCOM | '\' '"' WCOM
NCOM → ε | 'a' NCOM | '\' '"' NCOM
状態セル10個前後でいけそう
951デフォルトの名無しさん
2020/07/11(土) 12:46:36.38ID:6CWHpJ6z >>938 Perl 状態セル4個
$ cat input
"aa,a",aa,,"aa\"aa"
$ perl odai938 < input
[None, 'a', 'a', ',', 'a', None, 'X', 'a', 'a', 'X', 'X', None, 'a', 'a', None, '"', 'a', 'a', None]
$ cat odai938
%maton = (
'N' => { 'a' => ['N', q('a')] , ',' => ['N', q('X')] , '"' => ['Q', q(None)] , '\\' => ['E', q(None)] },
'Q' => { 'a' => ['Q', q('a')] , ',' => ['Q', q(',')] , '"' => ['N', q(None)] , '\\' => ['F', q(None)] },
'E' => { 'a' => ['N', q('a')] , ',' => ['N', q(',')] , '"' => ['N', q('"') ] , '\\' => ['N', q(None)] },
'F' => { 'a' => ['Q', q('a')] , ',' => ['Q', q(',')] , '"' => ['Q', q('"') ] , '\\' => ['Q', q(None)] },
);
@res = ();
$state = 'N';
for $c ( split //, <> ) {
($next, $out) = @{$maton{$state}{$c}};
last unless defined $next;
push @res, $out;
$state = $next;
}
printf "[%s]\n", join ', ', @res;
$ cat input
"aa,a",aa,,"aa\"aa"
$ perl odai938 < input
[None, 'a', 'a', ',', 'a', None, 'X', 'a', 'a', 'X', 'X', None, 'a', 'a', None, '"', 'a', 'a', None]
$ cat odai938
%maton = (
'N' => { 'a' => ['N', q('a')] , ',' => ['N', q('X')] , '"' => ['Q', q(None)] , '\\' => ['E', q(None)] },
'Q' => { 'a' => ['Q', q('a')] , ',' => ['Q', q(',')] , '"' => ['N', q(None)] , '\\' => ['F', q(None)] },
'E' => { 'a' => ['N', q('a')] , ',' => ['N', q(',')] , '"' => ['N', q('"') ] , '\\' => ['N', q(None)] },
'F' => { 'a' => ['Q', q('a')] , ',' => ['Q', q(',')] , '"' => ['Q', q('"') ] , '\\' => ['Q', q(None)] },
);
@res = ();
$state = 'N';
for $c ( split //, <> ) {
($next, $out) = @{$maton{$state}{$c}};
last unless defined $next;
push @res, $out;
$state = $next;
}
printf "[%s]\n", join ', ', @res;
952デフォルトの名無しさん
2020/07/11(土) 13:08:54.01ID:WonOAWfv チューリングマシンわからんけどめっちゃ面白そう
953デフォルトの名無しさん
2020/07/11(土) 13:14:56.54ID:JFnadz6+ オートマトンを使ってってことなのね、なるほど
954デフォルトの名無しさん
2020/07/11(土) 13:56:56.88ID:R3MTOjCq >>951
チューリングマシンを使っていないのでだめだ
そのオートマトンは文脈依存文法どころか文脈自由文法すら対応していない
これら全てに対応出来てこそチューリングマシンだ
(このことは将来エラーリカバリーを考える上で、重要になると思っている)
つまりテープヘッドは左右に動き状態関数でそれを指示出来る(文脈自由文法に対応)
チューリングマシンは受理状態を指定出来る
今回、状態の数は受理状態を省略して5個でいける(もっと少なく出来るかもしれんが)
状態関数は状態5*記号4のマトリックスを考えて、その中の12個を埋めればいい
チューリングマシンを使っていないのでだめだ
そのオートマトンは文脈依存文法どころか文脈自由文法すら対応していない
これら全てに対応出来てこそチューリングマシンだ
(このことは将来エラーリカバリーを考える上で、重要になると思っている)
つまりテープヘッドは左右に動き状態関数でそれを指示出来る(文脈自由文法に対応)
チューリングマシンは受理状態を指定出来る
今回、状態の数は受理状態を省略して5個でいける(もっと少なく出来るかもしれんが)
状態関数は状態5*記号4のマトリックスを考えて、その中の12個を埋めればいい
955デフォルトの名無しさん
2020/07/11(土) 16:08:31.89ID:R3MTOjCq 訂正
×状態関数
◯状態遷移関数
×状態関数
◯状態遷移関数
956デフォルトの名無しさん
2020/07/11(土) 16:29:47.46ID:2Qc0/uE/ >>954が正解を出してくれるんだそうだ
957デフォルトの名無しさん
2020/07/11(土) 16:36:53.77ID:rnrtUK1e 例を出してくれ
958デフォルトの名無しさん
2020/07/11(土) 17:01:50.43ID:KPNFpi8s そもそも作問の時点でおかしいんだよ!
959デフォルトの名無しさん
2020/07/11(土) 17:09:33.35ID:R3MTOjCq960デフォルトの名無しさん
2020/07/11(土) 17:49:01.47ID:3Cd1PF49 焉んぞ牛刀を用いん
961デフォルトの名無しさん
2020/07/11(土) 17:53:42.33ID:60oNEnIZ チューリングマシンの設計じゃなくて
チューリングマシンエミュレーターの設計だよな
チューリングマシンエミュレーターの設計だよな
962デフォルトの名無しさん
2020/07/11(土) 18:17:04.37ID:R3MTOjCq963デフォルトの名無しさん
2020/07/11(土) 19:08:07.36ID:2M7rjl8q >>947
解ける問題に制限ができるだけの話
解ける問題に制限ができるだけの話
964デフォルトの名無しさん
2020/07/11(土) 20:23:08.26ID:feKeXoV6 そういやチューリングってゲイだったんだってね。
965デフォルトの名無しさん
2020/07/11(土) 20:30:57.47ID:JFnadz6+ イミテーション・ゲームという映画が面白かった
キーラ・ナイトレイ美しすぎ
キーラ・ナイトレイ美しすぎ
966デフォルトの名無しさん
2020/07/11(土) 20:51:48.92ID:qWNdyupY チューリング、イギリスのお札になるってよ
967デフォルトの名無しさん
2020/07/13(月) 10:36:22.79ID:0ATtS2UF お題
日本将棋連盟のサイトにあるレーティングで
AとBが対戦してAが勝った場合のA、Bの
新しいレーティングを求める。
日本将棋連盟のサイトにあるレーティングで
AとBが対戦してAが勝った場合のA、Bの
新しいレーティングを求める。
968デフォルトの名無しさん
2020/07/13(月) 12:03:42.96ID:JZTlaHWi お題じゃなくてツール作成依頼でしょ?
969デフォルトの名無しさん
2020/07/13(月) 17:09:42.48ID:aaJV9hNQ 解答を持ちあわせていて、ただドヤりたいだけのスレなのに?
解答期限をつけるべきだと思う
解答期限をつけるべきだと思う
970デフォルトの名無しさん
2020/07/13(月) 20:25:51.06ID:8wNaSmrQ >>969
そんなドヤお題最近あったか?
そんなドヤお題最近あったか?
971デフォルトの名無しさん
2020/07/13(月) 21:28:01.53ID:UGEHS+NK イロレーティングの実装ってことでいいのかな?
だとするとあまりに簡単すぎないか?
漢字覚えるのに上からなぞるだけみたいな問題だと思った
考える要素が皆無でもこのスレの趣旨に反しないのか?
現にイロレーティングの実装なんかググったらすぐ見つかるわけだし。
そんなんでもいいんだったらいくらでも出せる。組合せ最適化問題の本に書かれているのそのまま出せばいいわけだし。
後、入力が何で出力が何で、どれくらいで実装できるものか書いてくれたら分かりやすくなると思う
だとするとあまりに簡単すぎないか?
漢字覚えるのに上からなぞるだけみたいな問題だと思った
考える要素が皆無でもこのスレの趣旨に反しないのか?
現にイロレーティングの実装なんかググったらすぐ見つかるわけだし。
そんなんでもいいんだったらいくらでも出せる。組合せ最適化問題の本に書かれているのそのまま出せばいいわけだし。
後、入力が何で出力が何で、どれくらいで実装できるものか書いてくれたら分かりやすくなると思う
972デフォルトの名無しさん
2020/07/13(月) 21:54:58.06ID:nR5el41K 結果後の数値出すだけだから2つの数値受け取って計算して出力するだけでしょ
三角形の面積を求めよ、と同じ問題
計算式知ってるか、ググれるかだけ
三角形の面積を求めよ、と同じ問題
計算式知ってるか、ググれるかだけ
973蟻人間 ◆T6xkBnTXz7B0
2020/07/13(月) 22:30:47.09ID:WwiIS8F6 お題: 九九の表の1×1〜9×9をSQLデータベースに書き出せ。
974蟻人間 ◆T6xkBnTXz7B0
2020/07/13(月) 22:53:17.28ID:WwiIS8F6 お題: サイン関数の表をSQLテーブルに出力し、そのテーブルへのSQL問い合わせを使ってサイン関数を再現する関数を作れ。精度はテキトーで構わない。
975デフォルトの名無しさん
2020/07/13(月) 23:56:34.26ID:UGEHS+NK テイラー展開でいいの?
977デフォルトの名無しさん
2020/07/14(火) 00:00:00.37ID:5rX6+9jh978デフォルトの名無しさん
2020/07/14(火) 00:08:27.23ID:kYSYwo9X SELECT * FROM threads;
979デフォルトの名無しさん
2020/07/14(火) 00:08:30.45ID:5rX6+9jh >>974
SQLはブロックされて貼れないけど3行で出来た
1. x、y、y_hatのカラムでテーブル作成
2. INSERT SELECT文とPGのgenerate_series関数を使ってxに乱数をINSERT
3 .UPDATE文でsin関数をyに、テイラー展開版sin関数をy_hatにINSERT
SQLはブロックされて貼れないけど3行で出来た
1. x、y、y_hatのカラムでテーブル作成
2. INSERT SELECT文とPGのgenerate_series関数を使ってxに乱数をINSERT
3 .UPDATE文でsin関数をyに、テイラー展開版sin関数をy_hatにINSERT
981蟻人間 ◆T6xkBnTXz7B0
2020/07/14(火) 00:19:29.80ID:rFkkEmf3 原始的なSQL injection対策か?
982デフォルトの名無しさん
2020/07/14(火) 01:07:26.62ID:5rX6+9jh983デフォルトの名無しさん
2020/07/14(火) 03:12:25.26ID:5rX6+9jh >>974
これもしかしてサイン関数の表は荒いから補完法を使ってサイン関数を作れって意味だったのかなー
これもしかしてサイン関数の表は荒いから補完法を使ってサイン関数を作れって意味だったのかなー
984デフォルトの名無しさん
2020/07/14(火) 05:10:48.70ID:kYSYwo9X テーブル作らなくても行けそうだと思ったけど必要なのか
985デフォルトの名無しさん
2020/07/14(火) 06:05:28.09ID:BHFrzCgy >>973
mysql>CREATE DATABASE testdb;
mysql>use testdb;
mysql>CREATE TABLE tbl_kuku(
'1' int, '2' int, '3' int,
'4' int, '5' int, '6' int,
'7' int, '8' int, '9' int
) ;
mysql>load data local infile
"/Users/user/Desktop/kukutable.csv "
into table tbl_kuku
fields terminated by ','
optionally enclosed by '"';
mysql>CREATE DATABASE testdb;
mysql>use testdb;
mysql>CREATE TABLE tbl_kuku(
'1' int, '2' int, '3' int,
'4' int, '5' int, '6' int,
'7' int, '8' int, '9' int
) ;
mysql>load data local infile
"/Users/user/Desktop/kukutable.csv "
into table tbl_kuku
fields terminated by ','
optionally enclosed by '"';
986デフォルトの名無しさん
2020/07/14(火) 06:24:26.46ID:5rX6+9jh >>974
問題の意味がよく分からなかったけど、荒いsine関数表を元に補間法によって任意の値に対するsine関数を完成させろという意味なら出来た
PostgreSQL用
http://codepad.org/Z81nscIT
※会員登録してないからそのうち消える
問題の意味がよく分からなかったけど、荒いsine関数表を元に補間法によって任意の値に対するsine関数を完成させろという意味なら出来た
PostgreSQL用
http://codepad.org/Z81nscIT
※会員登録してないからそのうち消える
987デフォルトの名無しさん
2020/07/14(火) 06:36:16.97ID:5rX6+9jh988デフォルトの名無しさん
2020/07/14(火) 07:41:02.95ID:i9nYbez+ >>974
mysql> delimiter //
mysql> CREATE FUNCTION SIN (angle DOUBLE )
-> BEGIN
-> SELECT angle FROM tbl_sin ;
-> END//
mysql> delimiter ;
mysql> SELECT SIN(45);
mysql> delimiter //
mysql> CREATE FUNCTION SIN (angle DOUBLE )
-> BEGIN
-> SELECT angle FROM tbl_sin ;
-> END//
mysql> delimiter ;
mysql> SELECT SIN(45);
989デフォルトの名無しさん
2020/07/14(火) 11:28:46.13ID:5rX6+9jh >>938のお題は誰も解答しないの?
990デフォルトの名無しさん
2020/07/14(火) 11:59:10.89ID:q9pbneb4991蟻人間 ◆T6xkBnTXz7B0
2020/07/14(火) 12:43:06.54ID:xUpKMtHj そろそろ次スレ
992デフォルトの名無しさん
2020/07/14(火) 13:54:37.55ID:jW5p6F/e プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
993デフォルトの名無しさん
2020/07/14(火) 17:21:12.98ID:1/ePl1B5994デフォルトの名無しさん
2020/07/15(水) 12:20:15.70ID:2zn904g+ お題: 過去スレからお題と回答を抽出し、検索できるようにしろ
995デフォルトの名無しさん
2020/07/15(水) 14:13:59.93ID:fkxllX2L >>994
print "ろくなお題もまともな回答もありませんでした。"
print "ろくなお題もまともな回答もありませんでした。"
996蟻人間 ◆T6xkBnTXz7B0
2020/07/16(木) 05:51:13.84ID:Tv2xtriA お題: 三次元タートルグラフィックスを実装し、森林・臓器・シェルピンスキーの立体ギャスケットのいずれかを描画せよ。
奥行きの表現には任意の遠近法か任意のレンダリングエンジンを使うこと。
【実装例】
walk(長さ) // 現在のペンの状態で現在の方向へ前進する
set_pos(x, y, z) // 位置をセット
pos = get_pos() // 現在位置を保存
set_dir(dx, dy, dz) // 方向ベクトルをセット
dir = get_dir() // 現在の方向を保存
turn(dx, dy, dz) // 向きを調整(方向ベクトルを回転)
pen_on() // ペンを下ろす(描画を開始)
pen_off() // ペンを上げる(描画を止める)
奥行きの表現には任意の遠近法か任意のレンダリングエンジンを使うこと。
【実装例】
walk(長さ) // 現在のペンの状態で現在の方向へ前進する
set_pos(x, y, z) // 位置をセット
pos = get_pos() // 現在位置を保存
set_dir(dx, dy, dz) // 方向ベクトルをセット
dir = get_dir() // 現在の方向を保存
turn(dx, dy, dz) // 向きを調整(方向ベクトルを回転)
pen_on() // ペンを下ろす(描画を開始)
pen_off() // ペンを上げる(描画を止める)
997デフォルトの名無しさん
2020/07/16(木) 06:23:09.04ID:33WC3be6 うめ
998デフォルトの名無しさん
2020/07/16(木) 06:23:13.93ID:33WC3be6 うめ
999デフォルトの名無しさん
2020/07/16(木) 06:23:45.03ID:33WC3be6 うめ
1000デフォルトの名無しさん
2020/07/16(木) 06:24:07.53ID:33WC3be610011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 125日 4時間 41分 20秒
新しいスレッドを立ててください。
life time: 125日 4時間 41分 20秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 空自機レーダー照射、音声データ公開 中国 ★2 [蚤の市★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★3 [597533159]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- ド・ド・ドリフのwwwwwwwww
- オーストラリアで16歳未満はSNS禁止になったらしいけどこれ
- スバルが言ったらノエルが濡れそうなこと
