プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/
プログラミングのお題スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1524570314/
探検
プログラミングのお題スレ Part12
■ このスレッドは過去ログ倉庫に格納されています
2018/09/28(金) 10:09:07.13ID:phwOkayR
705デフォルトの名無しさん
2018/11/25(日) 21:08:13.52ID:FiKNHiMA706デフォルトの名無しさん
2018/11/25(日) 21:09:21.48ID:F5E3KDnq >>705
笑った
笑った
707デフォルトの名無しさん
2018/11/25(日) 23:28:07.03ID:DgoPPid/ >>660 Perl5 普通のloop版
use feature qw{current_sub say};
for (qw{321 910 909 0 11111 123456789}) {
$a = $_;
$s = 1;
@d= ();
do {
$d = int $a / 10*$s;
$m = $a % (10*$s);
unshift @d, $m*$s;
$s *= -1;
$a = ($a - $m)/10;
} while $a;
say "$_ $d => ", @d;
}
>>660 Perl5 無名関数の末尾再帰版
use feature qw{say};
for (qw{321 910 909 0 11111 123456789}) {
$s = 1;
say "$_ $d => ", sub {
$a = shift;
$d = int $a / 10*$s;
$m = $a % (10*$s);
my $ms = $m*$s;
$s *= -1;
$a = ($a - $m)/10;
(($a ? __SUB__->($a) : ()), $ms);
}->($_);
}
use feature qw{current_sub say};
for (qw{321 910 909 0 11111 123456789}) {
$a = $_;
$s = 1;
@d= ();
do {
$d = int $a / 10*$s;
$m = $a % (10*$s);
unshift @d, $m*$s;
$s *= -1;
$a = ($a - $m)/10;
} while $a;
say "$_ $d => ", @d;
}
>>660 Perl5 無名関数の末尾再帰版
use feature qw{say};
for (qw{321 910 909 0 11111 123456789}) {
$s = 1;
say "$_ $d => ", sub {
$a = shift;
$d = int $a / 10*$s;
$m = $a % (10*$s);
my $ms = $m*$s;
$s *= -1;
$a = ($a - $m)/10;
(($a ? __SUB__->($a) : ()), $ms);
}->($_);
}
708デフォルトの名無しさん
2018/11/25(日) 23:30:57.42ID:DgoPPid/ >>707
ゴメン、普通のloop版の
say "$_ $d => ", @d;
は不要なdebug writeも出力するので
say "$_ => ", @d;
に訂正
結果はいずれも
$ perl 12_660.pl
321 => 481
910 => 19090
909 => 909
0 => 0
11111 => 29291
123456789 => 284664829
ゴメン、普通のloop版の
say "$_ $d => ", @d;
は不要なdebug writeも出力するので
say "$_ => ", @d;
に訂正
結果はいずれも
$ perl 12_660.pl
321 => 481
910 => 19090
909 => 909
0 => 0
11111 => 29291
123456789 => 284664829
709デフォルトの名無しさん
2018/11/25(日) 23:34:40.02ID:DgoPPid/710697
2018/11/26(月) 02:29:30.61ID:jdmxn8AZ >>679>>698
HTML + JavaScript
https://codepen.io/anon/pen/OaERvj
即実行できた方がいいかなと思ってブラウザで動く JavaScript にしてみた。
PC側は10台まで台数入力する。
表示は「グー」、「チョキ」、「パー」になっている。
判定は方法ほ Kotlin のやつとほとんど同じ。
但し勝敗や相子に関係なく再挑戦ボタンが出る。
HTML + JavaScript
https://codepen.io/anon/pen/OaERvj
即実行できた方がいいかなと思ってブラウザで動く JavaScript にしてみた。
PC側は10台まで台数入力する。
表示は「グー」、「チョキ」、「パー」になっている。
判定は方法ほ Kotlin のやつとほとんど同じ。
但し勝敗や相子に関係なく再挑戦ボタンが出る。
711デフォルトの名無しさん
2018/11/28(水) 01:28:37.70ID:he8qnrZH712711
2018/11/28(水) 23:15:07.63ID:he8qnrZH >>702 c
https://ideone.com/Plh1vx
・mandelbrotが4.24s
・セル配列をコンパクト化
・一部のforとswitchをgotoで置き換え
・データポインタの範囲チェックは廃止
・']'のとき無条件に'['へ戻ってたのを廃止
https://ideone.com/Plh1vx
・mandelbrotが4.24s
・セル配列をコンパクト化
・一部のforとswitchをgotoで置き換え
・データポインタの範囲チェックは廃止
・']'のとき無条件に'['へ戻ってたのを廃止
713デフォルトの名無しさん
2018/11/28(水) 23:53:16.47ID:fj/EN88U これで。以前からやろうとしてできてない。AI簡単そうだが。
3x3盤タイルゲーム for Windows ver2.00 14/7/5 更新
対戦するたびに学習して次第に強くなる「最善手探索+対戦学習型知能ゲーム」 <入門版>
4x4盤タイルゲーム for Windows ver2.00 14/7/5 更新
対戦するたびに学習して次第に強くなる「最善手探索+対戦学習型知能ゲーム」 <本格版>
http://www2u.biglobe.ne.jp/~shunbook/omocha/index.htm
3x3盤タイルゲーム for Windows ver2.00 14/7/5 更新
対戦するたびに学習して次第に強くなる「最善手探索+対戦学習型知能ゲーム」 <入門版>
4x4盤タイルゲーム for Windows ver2.00 14/7/5 更新
対戦するたびに学習して次第に強くなる「最善手探索+対戦学習型知能ゲーム」 <本格版>
http://www2u.biglobe.ne.jp/~shunbook/omocha/index.htm
714デフォルトの名無しさん
2018/11/29(木) 11:20:14.11ID:jwCbT4Qs 盤の状態は4×4のやつで3^16=43046721通りだから後退解析で全状態の最善手が簡単に解ける
715デフォルトの名無しさん
2018/11/29(木) 19:56:01.31ID:Hd6SZyXm >>712
その "&&label" って初めてみたんだけどgcc拡張なんだな
その "&&label" って初めてみたんだけどgcc拡張なんだな
716デフォルトの名無しさん
2018/11/29(木) 20:53:52.25ID:lIzTCHsu >>715
これか。こんなのあったとは知らなかった。
http://nnabeyang.hatenablog.com/entry/2012/12/05/160312
しかしあまり利用する必要なさそうな予感。
これか。こんなのあったとは知らなかった。
http://nnabeyang.hatenablog.com/entry/2012/12/05/160312
しかしあまり利用する必要なさそうな予感。
717711
2018/11/29(木) 23:18:59.74ID:dyCCyrAH >>702 c
https://ideone.com/ddpLYQ
・ mandelbrotが4.24s→3.42s
・いくつかの単純なループを自前の命令に置き換え
>>715-716
まさかこれ使う日が来るとはね( ^ω^)
https://ideone.com/ddpLYQ
・ mandelbrotが4.24s→3.42s
・いくつかの単純なループを自前の命令に置き換え
>>715-716
まさかこれ使う日が来るとはね( ^ω^)
718デフォルトの名無しさん
2018/11/30(金) 16:33:00.37ID:M3yAddAk さすがC言語
奥が深いな
奥が深いな
719デフォルトの名無しさん
2018/11/30(金) 18:55:20.12ID:eqr4XxJg 儲かるお題を書いてください。
720デフォルトの名無しさん
2018/11/30(金) 19:56:50.93ID:vThfWoZE お題: C言語のコメント/*〜*/, //〜 を除去するプログラムを実装せよ
721711
2018/11/30(金) 22:52:06.95ID:j+r1UJtS722デフォルトの名無しさん
2018/11/30(金) 22:53:31.37ID:cIO0a97u >>720
命令すんなカス
命令すんなカス
723デフォルトの名無しさん
2018/11/30(金) 23:05:45.19ID:iwzbC/nf >>721
ここまで最適化するとはすごいな
今VCに移植してやってみてる
VCはラベルのアドレスは取れないのでcase文内で処理してる
でも文字がダラダラと表示されるのが嫌なので、putchar()の所を
一度バッファに溜めておいて最後にputs()で一気に出力するようにした
ここまで最適化するとはすごいな
今VCに移植してやってみてる
VCはラベルのアドレスは取れないのでcase文内で処理してる
でも文字がダラダラと表示されるのが嫌なので、putchar()の所を
一度バッファに溜めておいて最後にputs()で一気に出力するようにした
>>720
やったことがある気がしたのですが、もうすっかり忘れてしまいました…
やったことがある気がしたのですが、もうすっかり忘れてしまいました…
725デフォルトの名無しさん
2018/11/30(金) 23:09:48.33ID:iwzbC/nf >>712のを移植するとこうなる
他のも同様だと思う
Random1.h というのは自前のストップウォッチクラスを使うためだけなので、
std::chronoを使って適当に自作すれば良い
https://ideone.com/Vf0qIj
他のも同様だと思う
Random1.h というのは自前のストップウォッチクラスを使うためだけなので、
std::chronoを使って適当に自作すれば良い
https://ideone.com/Vf0qIj
726デフォルトの名無しさん
2018/11/30(金) 23:16:05.51ID:TjeK6E2T お題: 入力にこのスレのhtmlが与えられるので数字だけ,区切りで出力しなさい。
出力例
2018,11,30,...
出力例
2018,11,30,...
727デフォルトの名無しさん
2018/11/30(金) 23:54:45.63ID:8gAcKqbf どれだけの数字の種類に対応するのかで個性が出るな
728デフォルトの名無しさん
2018/12/01(土) 00:17:45.63ID:XKE5KJf3729デフォルトの名無しさん
2018/12/01(土) 01:26:07.16ID:3EVAE812 >>720
Perl
https://paiza.io/projects/Q_MF7JmVJMMjF1aqffgfaw
Perl だと簡単だ。
但し /* /* */ */ みたいな二重のやつには対応していない。最初の /* から次に出た */ を削除して */ が残る。
(この辺は本物のCプリプロセッサでも同じかな?)
Perl
https://paiza.io/projects/Q_MF7JmVJMMjF1aqffgfaw
Perl だと簡単だ。
但し /* /* */ */ みたいな二重のやつには対応していない。最初の /* から次に出た */ を削除して */ が残る。
(この辺は本物のCプリプロセッサでも同じかな?)
730デフォルトの名無しさん
2018/12/01(土) 01:45:09.70ID:YAQo6Dqr >>726 Ruby
require 'open-uri'
thread = 'https://mevius.5ch.net/test/read.cgi/tech/1538096947'
puts open(thread).read.scan(/>([^<]+)/).flat_map{|(s)| s.scan(/\d+/)}.join(?,)
# =>
12,12,729,314,1,100,50,1,2018,09,28,10,09,07,13,1,2,1,10,# 略
require 'open-uri'
thread = 'https://mevius.5ch.net/test/read.cgi/tech/1538096947'
puts open(thread).read.scan(/>([^<]+)/).flat_map{|(s)| s.scan(/\d+/)}.join(?,)
# =>
12,12,729,314,1,100,50,1,2018,09,28,10,09,07,13,1,2,1,10,# 略
731デフォルトの名無しさん
2018/12/01(土) 01:53:10.02ID:k1RHlnBk >>729
"/* hoge */" => ""
"/* hoge */" => ""
733デフォルトの名無しさん
2018/12/01(土) 03:00:24.20ID:3EVAE812734デフォルトの名無しさん
2018/12/01(土) 03:09:09.09ID:3EVAE812 >>731
今閃いたので修正した。(URLは同じ)
今閃いたので修正した。(URLは同じ)
735デフォルトの名無しさん
2018/12/01(土) 03:22:24.06ID:Zs5zJNI/ >>720 Ruby
src = $<.read
i = 0
loop do
break if i >= src.size
case src[i]
when ?" then i += src[i..-1][/(?:".*[^\\]|")(?:\\\\)*"/].size
when ?' then i += src[i..-1][/(?:'.*[^\\]|')(?:\\\\)*'/].size
when ?/ then src.sub!(/(?<=.{#{i}})(?:\/\/[^\n]*|\/\*.*?\*\/)/m, ''); i += 1
else i += 1
end
end
-*- input -*-
hoge(); // fuga
hoge('"'); // fuga ");
hoge("// \"fuga\"\\");
hoge("/* fuga */"); /* fuga
fuga /* "fuga" // */; hoge
-*- output -*-
hoge();
hoge('"');
hoge("// "fuga"\\");
hoge("/* fuga */"); ; hoge
src = $<.read
i = 0
loop do
break if i >= src.size
case src[i]
when ?" then i += src[i..-1][/(?:".*[^\\]|")(?:\\\\)*"/].size
when ?' then i += src[i..-1][/(?:'.*[^\\]|')(?:\\\\)*'/].size
when ?/ then src.sub!(/(?<=.{#{i}})(?:\/\/[^\n]*|\/\*.*?\*\/)/m, ''); i += 1
else i += 1
end
end
-*- input -*-
hoge(); // fuga
hoge('"'); // fuga ");
hoge("// \"fuga\"\\");
hoge("/* fuga */"); /* fuga
fuga /* "fuga" // */; hoge
-*- output -*-
hoge();
hoge('"');
hoge("// "fuga"\\");
hoge("/* fuga */"); ; hoge
736デフォルトの名無しさん
2018/12/01(土) 03:24:23.46ID:3EVAE812 >>720
Cでも作った。
https://paiza.io/projects/2RgQrlBLrzJe9MQp9weQmQ
これは1文字づつ読んでモード切り替えて出力したりしなかったりする方式。
文字列リテラルにも対応。
Cでも作った。
https://paiza.io/projects/2RgQrlBLrzJe9MQp9weQmQ
これは1文字づつ読んでモード切り替えて出力したりしなかったりする方式。
文字列リテラルにも対応。
737デフォルトの名無しさん
2018/12/01(土) 03:40:27.80ID:mIATMgqT >>734
'"', /* hoge */, "fuga" => '"', /* hoge */, "fuga"
'"', /* hoge */, "fuga" => '"', /* hoge */, "fuga"
738デフォルトの名無しさん
2018/12/01(土) 03:45:42.76ID:mIATMgqT >>734
"// hoge" => "
"// hoge" => "
739デフォルトの名無しさん
2018/12/01(土) 04:05:45.76ID:3EVAE812 >>737>>738
あ、それか。それは明日考えよう。
あ、それか。それは明日考えよう。
740デフォルトの名無しさん
2018/12/01(土) 04:06:53.29ID:3EVAE812 C言語の方もシングルクォート考慮してないから似たようなものだな。
741デフォルトの名無しさん
2018/12/01(土) 05:34:42.40ID:qLkjgui5 >>735 訂正
src = $<.read
i = 0
loop do
break if i >= src.size
case src[i]
when ?" then i += src[i..-1][/\A"(?:.*?[^\\])?(?:\\\\)*"/].size; next
when ?' then i += src[i..-1][/\A'(?:.*?[^\\])?(?:\\\\)*'/].size; next
when ?/ then src.sub!(/(?<=\A.{#{i}})(?:\/\/[^\n]*|\/\*.*?\*\/)/m, '')
end
i += 1
end
puts src
-*- input -*-
hoge(); // fuga
hoge('"'); // fuga ");
hoge("// \"fuga\"\\", /* fuga */ *"fuga");
hoge("/* fuga */"); /* fuga
fuga /* "fuga" // */; hoge
-*- output -*-
hoge();
hoge('"');
hoge("// \"fuga\"\\", *"fuga");
hoge("/* fuga */"); ; hoge
src = $<.read
i = 0
loop do
break if i >= src.size
case src[i]
when ?" then i += src[i..-1][/\A"(?:.*?[^\\])?(?:\\\\)*"/].size; next
when ?' then i += src[i..-1][/\A'(?:.*?[^\\])?(?:\\\\)*'/].size; next
when ?/ then src.sub!(/(?<=\A.{#{i}})(?:\/\/[^\n]*|\/\*.*?\*\/)/m, '')
end
i += 1
end
puts src
-*- input -*-
hoge(); // fuga
hoge('"'); // fuga ");
hoge("// \"fuga\"\\", /* fuga */ *"fuga");
hoge("/* fuga */"); /* fuga
fuga /* "fuga" // */; hoge
-*- output -*-
hoge();
hoge('"');
hoge("// \"fuga\"\\", *"fuga");
hoge("/* fuga */"); ; hoge
742デフォルトの名無しさん
2018/12/01(土) 07:52:53.53ID:U3mK8vlP743デフォルトの名無しさん
2018/12/01(土) 11:03:33.46ID:XKE5KJf3 >>742
生きづらそう
生きづらそう
744デフォルトの名無しさん
2018/12/01(土) 11:10:29.72ID:50ygxsN0745デフォルトの名無しさん
2018/12/01(土) 11:16:56.49ID:50ygxsN0 >>744
ゴメン再帰マッチは(?R)や(?1)だた
時間あればnest対応版書いてみたいけど
多分ないや…
こういうのは再帰降下パーサParse::RecDescentやPerl6のRule使うと楽に書ける
ゴメン再帰マッチは(?R)や(?1)だた
時間あればnest対応版書いてみたいけど
多分ないや…
こういうのは再帰降下パーサParse::RecDescentやPerl6のRule使うと楽に書ける
746デフォルトの名無しさん
2018/12/01(土) 12:39:50.92ID:U3mK8vlP747デフォルトの名無しさん
2018/12/01(土) 12:41:56.31ID:1eGLRG7/ いつもの単芝君やないか
この板に粘着して荒らしまわってる奴やで
意思疎通は不可能なのでNGするなりスルーするなりしてくれ
この板に粘着して荒らしまわってる奴やで
意思疎通は不可能なのでNGするなりスルーするなりしてくれ
748デフォルトの名無しさん
2018/12/01(土) 15:19:58.00ID:3EVAE812749デフォルトの名無しさん
2018/12/01(土) 17:02:07.43ID:3EVAE812 >>736も改造終了(URLは同じ)。
750デフォルトの名無しさん
2018/12/01(土) 17:34:49.88ID:XO3Kyvz4 >>706 F#
https://ideone.com/IUPK21
mandelbrotが2.86s
https://postd.cc/adventures-in-jit-compilation-part-1-an-interpreter/ を参考にした
https://ideone.com/IUPK21
mandelbrotが2.86s
https://postd.cc/adventures-in-jit-compilation-part-1-an-interpreter/ を参考にした
751デフォルトの名無しさん
2018/12/01(土) 17:37:04.95ID:XO3Kyvz4 >>750 はインタプリタでないので無視してください
752デフォルトの名無しさん
2018/12/02(日) 00:35:34.00ID:twRH93OM >>702
Kotlin
https://paiza.io/projects/MBp2uVW-Y0Kj2sRaZom3pA
1行1プログラムだが行が長くなると見辛いので行末に \ があったら次の行と連結している事にした。
Kotlin
https://paiza.io/projects/MBp2uVW-Y0Kj2sRaZom3pA
1行1プログラムだが行が長くなると見辛いので行末に \ があったら次の行と連結している事にした。
753711
2018/12/02(日) 16:02:26.97ID:aFBnTuDv >>702 c
https://ideone.com/6sLfPH
・ mandelbrotが4.24s→3.42s→3.24s→2.13s
・G: while (*dp) dp += ip->d; ip++; goto TOP; を追加
>>723
caseで分岐するほうが移植性あっていいよね( ^ω^)
https://ideone.com/6sLfPH
・ mandelbrotが4.24s→3.42s→3.24s→2.13s
・G: while (*dp) dp += ip->d; ip++; goto TOP; を追加
>>723
caseで分岐するほうが移植性あっていいよね( ^ω^)
754デフォルトの名無しさん
2018/12/02(日) 16:29:28.37ID:hHHhmr7T Python「・・・」
755デフォルトの名無しさん
2018/12/03(月) 22:04:03.50ID:cV13JBu4 [お題]
整数A,B(1<=A<B<=50万)と P(1<=P<=10)が順に与えられる。
A以上B以下の10進数の整数から異なる2つの整数を選ぶ。
その2つの整数を表現するのに使われている(各桁の)数字の種類が
ちょうどP種類である選び方は何通りできるか。
※ 先頭ゼロ詰禁止、実行時間一問1.5秒以内(ideone等で)
1) 8 11 2 --> 4
2) 10 1000 5 --> 207480
3) 44 44444 4 --> 33808313
4) 56785 113452 1 --> ?
5) 102345 480713 6 --> ?
6) 1 500000 7 --> 47440713600
例題1) の補足 "8 11 2" のとき
{8,9,10,11}から2整数を選ぶ。NCR(4,2)=6通りあるなかから
(8,9)(8,11)(9,11)(10,11) の4通りが答え。[]内を使用数字とすると、
例として、(8,11)は[8,1]の2種類, (10,11)は[1,0]の2種類からなる。
対象外は (8,10)は[8,1,0] (9,10)は[9,1,0]で ともに2種類ではない。
※解き方をパックて単純化した問題。
整数A,B(1<=A<B<=50万)と P(1<=P<=10)が順に与えられる。
A以上B以下の10進数の整数から異なる2つの整数を選ぶ。
その2つの整数を表現するのに使われている(各桁の)数字の種類が
ちょうどP種類である選び方は何通りできるか。
※ 先頭ゼロ詰禁止、実行時間一問1.5秒以内(ideone等で)
1) 8 11 2 --> 4
2) 10 1000 5 --> 207480
3) 44 44444 4 --> 33808313
4) 56785 113452 1 --> ?
5) 102345 480713 6 --> ?
6) 1 500000 7 --> 47440713600
例題1) の補足 "8 11 2" のとき
{8,9,10,11}から2整数を選ぶ。NCR(4,2)=6通りあるなかから
(8,9)(8,11)(9,11)(10,11) の4通りが答え。[]内を使用数字とすると、
例として、(8,11)は[8,1]の2種類, (10,11)は[1,0]の2種類からなる。
対象外は (8,10)は[8,1,0] (9,10)は[9,1,0]で ともに2種類ではない。
※解き方をパックて単純化した問題。
756デフォルトの名無しさん
2018/12/03(月) 23:49:23.73ID:CrTNh3lq 数え上げ系のお題はつまんない
757デフォルトの名無しさん
2018/12/04(火) 10:39:39.35ID:ZczbahAK パズルソルバーは制約・論理プログラミングが最適だね。
758デフォルトの名無しさん
2018/12/04(火) 13:11:47.75ID:vhrUEqnQ >>720 正規表現だけで書いてみた
regexp = /((?:([^"']*?)(?:\/\/[^\n]*|\/\*.*?\*\/))*)(("|').*?(?<!\\)(?:\\\\)*\4)?/m
puts <<~EOT.gsub(regexp, '\2\3')
hoge(); // fuga
hoge('"'); // fuga ");
hoge("// \\"fuga\\"\\\\", /* fuga */ *"fuga");
hoge("/* fuga */"); /* fuga
fuga /* "fuga" // */; hoge
EOT
# =>
hoge();
hoge('"');
hoge("// \"fuga\"\\", *"fuga");
hoge("/* fuga */"); ; hoge
regexp = /((?:([^"']*?)(?:\/\/[^\n]*|\/\*.*?\*\/))*)(("|').*?(?<!\\)(?:\\\\)*\4)?/m
puts <<~EOT.gsub(regexp, '\2\3')
hoge(); // fuga
hoge('"'); // fuga ");
hoge("// \\"fuga\\"\\\\", /* fuga */ *"fuga");
hoge("/* fuga */"); /* fuga
fuga /* "fuga" // */; hoge
EOT
# =>
hoge();
hoge('"');
hoge("// \"fuga\"\\", *"fuga");
hoge("/* fuga */"); ; hoge
759デフォルトの名無しさん
2018/12/04(火) 13:34:55.49ID:fo8RIf+e >>758 無駄な括弧があったので修正
regexp = /([^"']*?)(?:\/\/[^\n]*|\/\*.*?\*\/)?(("|').*?(?<!\\)(?:\\\\)*\3)?/m
puts src.gsub(regexp, '\1\2')
regexp = /([^"']*?)(?:\/\/[^\n]*|\/\*.*?\*\/)?(("|').*?(?<!\\)(?:\\\\)*\3)?/m
puts src.gsub(regexp, '\1\2')
760デフォルトの名無しさん
2018/12/04(火) 17:02:17.81ID:N7rAE58b761デフォルトの名無しさん
2018/12/04(火) 17:20:50.80ID:tkE9zz4k お題: テキストが入力されるのでそれがお題であれば1,お題でなければ0を出力せよ
762デフォルトの名無しさん
2018/12/04(火) 17:37:59.07ID:HMynH27O763デフォルトの名無しさん
2018/12/04(火) 17:43:36.31ID:evmq38l5 お題
C/C++言語のソースをHTMLに変換
・色分け(外部スタイルシートで色分け以外にも
サイズや種類など色々と細かく指定可能)表示
・コメント・クォート・マクロ定義部分・マクロ等に対応
・ローカル変数・グローバル変数・static関数・非static関数
ライブラリ変数/関数/マクロ(ヘッダ記載)・
ローカル型・グローバル型名の区別
入力:コマンドラインからファイル名(.c/.cpp)
出力:出力htm(l)ファイルとそれが参照するスタイルシート(.css)を
新規作成
C/C++言語のソースをHTMLに変換
・色分け(外部スタイルシートで色分け以外にも
サイズや種類など色々と細かく指定可能)表示
・コメント・クォート・マクロ定義部分・マクロ等に対応
・ローカル変数・グローバル変数・static関数・非static関数
ライブラリ変数/関数/マクロ(ヘッダ記載)・
ローカル型・グローバル型名の区別
入力:コマンドラインからファイル名(.c/.cpp)
出力:出力htm(l)ファイルとそれが参照するスタイルシート(.css)を
新規作成
764デフォルトの名無しさん
2018/12/04(火) 17:47:43.27ID:evmq38l5 あと、コードブロックや式の括弧のネストレベルに応じて
背景色を変えてほしい(要望)
コマンドラインからタブ=4,8とか指定できるようにもして欲しい
背景色を変えてほしい(要望)
コマンドラインからタブ=4,8とか指定できるようにもして欲しい
765デフォルトの名無しさん
2018/12/04(火) 17:58:45.10ID:0EeyK9d3 >>761
ruby -ne'p~/\Aお題\Z/?1:0'
ruby -ne'p~/\Aお題\Z/?1:0'
766デフォルトの名無しさん
2018/12/04(火) 18:05:08.94ID:HMynH27O 1. 好きなIDEのエディタで画面に表示。
2. PrtSc キーを押す。
3. ペイントを起動してペースト。
4. PNGファイルとして保存。
5. メモ帳を起動。
6. HTML を書き、imgで先の画像を表示するようにする。
7. 拡張子をhtmlにして保存。
8. ブラウザで表示。
9. 終了。
2. PrtSc キーを押す。
3. ペイントを起動してペースト。
4. PNGファイルとして保存。
5. メモ帳を起動。
6. HTML を書き、imgで先の画像を表示するようにする。
7. 拡張子をhtmlにして保存。
8. ブラウザで表示。
9. 終了。
767デフォルトの名無しさん
2018/12/04(火) 18:14:10.74ID:evmq38l5 型に応じて変数の色分け(スタイル変更)に対応できたら最高
忘れてたけど予約語の色分けは当然
ソースコードの構文エラー箇所以降は単色赤文字で表示
忘れてたけど予約語の色分けは当然
ソースコードの構文エラー箇所以降は単色赤文字で表示
768デフォルトの名無しさん
2018/12/04(火) 19:05:35.22ID:Ntdpy5BB >>761 PowerShell
[int]("お題" -eq $(Read-Host))
[int]("お題" -eq $(Read-Host))
769デフォルトの名無しさん
2018/12/05(水) 04:19:34.99ID:fABNAu0P770デフォルトの名無しさん
2018/12/05(水) 19:36:38.80ID:W3jESzak お題:ビュフォンの針をシミュレートして円周率の近似値を求めよ
771デフォルトの名無しさん
2018/12/05(水) 20:02:35.88ID:W3jESzak772デフォルトの名無しさん
2018/12/05(水) 23:06:27.91ID:dgv/Vo0c angleを計算するのに思いっきりπの値使ってるだろうし..www
773デフォルトの名無しさん
2018/12/05(水) 23:30:47.41ID:oCZO3Dfm wikipediaは日本語版だけその問題に言及して疑似コードも載ってるのな
>>772
そんなツッコミは初めてみました、うまいですね…
そんなツッコミは初めてみました、うまいですね…
775デフォルトの名無しさん
2018/12/05(水) 23:42:52.79ID:W3jESzak >>772
書いてて思ったけどめんどくさくなってそれ以上考えなかった
書いてて思ったけどめんどくさくなってそれ以上考えなかった
776デフォルトの名無しさん
2018/12/06(木) 01:36:29.15ID:Yn5Hc93r >>770 Squeak/Pharo Smalltalk
| length N rand needle nCrossed |
length := 10000.
N := 1e7.
rand := Random new.
needle := LineMorph from: length / -2 @ 0 to: length / 2 @ 0 color: Color black width: 1.
nCrossed := 0.
N timesRepeat: [
| crossed |
needle rotationDegrees: 90 * rand next; center: 0 @ (length * rand next).
crossed := length negated @ 0 to: length @ 0 intersects: needle firstVertex to: needle lastVertex.
crossed ifTrue: [nCrossed := nCrossed + 1]
].
N / nCrossed asFloat "=> 3.142226273599298 "
| length N rand needle nCrossed |
length := 10000.
N := 1e7.
rand := Random new.
needle := LineMorph from: length / -2 @ 0 to: length / 2 @ 0 color: Color black width: 1.
nCrossed := 0.
N timesRepeat: [
| crossed |
needle rotationDegrees: 90 * rand next; center: 0 @ (length * rand next).
crossed := length negated @ 0 to: length @ 0 intersects: needle firstVertex to: needle lastVertex.
crossed ifTrue: [nCrossed := nCrossed + 1]
].
N / nCrossed asFloat "=> 3.142226273599298 "
777デフォルトの名無しさん
2018/12/06(木) 01:57:54.87ID:CjS0UpEg こういうプログラム面手するのつらいだろうな
778デフォルトの名無しさん
2018/12/06(木) 02:09:23.51ID:7UXgAx11 >>771 Ruby
# length = 2; gap = 2
buffon_s = -> n {n.fdiv((1..n).count{rand < sin(rand(1e10))})}
p buffon_s[10**6]
# => 3.1421245789553063
# length = 2; gap = 2
buffon_s = -> n {n.fdiv((1..n).count{rand < sin(rand(1e10))})}
p buffon_s[10**6]
# => 3.1421245789553063
779755
2018/12/06(木) 20:58:20.17ID:fqSvUjwD >>755
需要はほぼなかったみたいだが、出題者コメントを
答えだすのに必要なものだけに前処理で集計。今回必要なのは
0-9数字使用の有無だけなので2^10に集約・集計できる( 50万→1024)
この数になればあとは、二重ループで集計をすればいい。
後半は集約にビットを使えば、popcountを使って簡潔に書けるパターン。
想定解(python by pypy) https://ideone.com/bujm1x
回答者さんとほぼ同じ。
あえて相違点は、pythonのpopcount相当が意外と重かったので、
前処理でテーブル化している。(高速に出れば、いらないはず?)
※制約の50万と1.5秒は、素の(標準だけの)pythonに合わせている。
(このコードも素のpythonだと、例題6)だけで0.8秒くらい)
需要はほぼなかったみたいだが、出題者コメントを
答えだすのに必要なものだけに前処理で集計。今回必要なのは
0-9数字使用の有無だけなので2^10に集約・集計できる( 50万→1024)
この数になればあとは、二重ループで集計をすればいい。
後半は集約にビットを使えば、popcountを使って簡潔に書けるパターン。
想定解(python by pypy) https://ideone.com/bujm1x
回答者さんとほぼ同じ。
あえて相違点は、pythonのpopcount相当が意外と重かったので、
前処理でテーブル化している。(高速に出れば、いらないはず?)
※制約の50万と1.5秒は、素の(標準だけの)pythonに合わせている。
(このコードも素のpythonだと、例題6)だけで0.8秒くらい)
780デフォルトの名無しさん
2018/12/06(木) 21:56:29.19ID:QyI+7EvW781デフォルトの名無しさん
2018/12/07(金) 15:14:44.93ID:wiJMm9Hc782デフォルトの名無しさん
2018/12/07(金) 22:19:34.17ID:x8xNXHP3 お題
1,3,4,6,7,9,10,12,…
のように1から始まり奇数, 奇数,偶数,偶数,
奇数,奇数,偶数,偶数…と続く場合2019番目はいくつになるか
1,3,4,6,7,9,10,12,…
のように1から始まり奇数, 奇数,偶数,偶数,
奇数,奇数,偶数,偶数…と続く場合2019番目はいくつになるか
783デフォルトの名無しさん
2018/12/07(金) 22:30:34.68ID:avhY9emJ floor(2019 * 1.5)
784デフォルトの名無しさん
2018/12/07(金) 22:32:31.84ID:avhY9emJ 結果書いてなかった
3028
3028
785デフォルトの名無しさん
2018/12/07(金) 22:35:02.23ID:avhY9emJ 計算量的に整数の乗算とシフト演算だけの n * 3 >> 1 のほうが良いか
786デフォルトの名無しさん
2018/12/07(金) 22:38:48.18ID:xSpw6JJG787デフォルトの名無しさん
2018/12/07(金) 22:47:23.26ID:avhY9emJ788デフォルトの名無しさん
2018/12/07(金) 22:48:51.29ID:xSpw6JJG789デフォルトの名無しさん
2018/12/08(土) 03:40:55.13ID:xmV4OmOO790デフォルトの名無しさん
2018/12/08(土) 08:09:08.92ID:JIGsOpwq 第n項=3n/2+(-1)^n/4-1/4
791デフォルトの名無しさん
2018/12/08(土) 09:20:01.90ID:vpfNpx82 プログラミング初心者なんですがJavaを覚えるのに良い課題下さい
言語の本は一冊読みました
言語の本は一冊読みました
792デフォルトの名無しさん
2018/12/08(土) 09:29:35.75ID:5PBkTMHJ Winならtypeコマンド(LinuxとかUnix系だとcat)と同じ機能を自作してみるとか、行番号も表示するようにするとかから始めては?
793デフォルトの名無しさん
2018/12/08(土) 09:53:44.58ID:Mku3deOK794デフォルトの名無しさん
2018/12/08(土) 09:59:51.42ID:Mku3deOK >>793
言語はJ
言語はJ
795781
2018/12/08(土) 12:53:06.37ID:JIGsOpwq 整数計算オーバーフローが発生していたのを修正
https://pastebin.com/FAzjRJn5
https://pastebin.com/FAzjRJn5
796デフォルトの名無しさん
2018/12/08(土) 15:30:02.59ID:dsjig1JQ お題:N×Nの盤面に石を置いていく。
どの4つの石も同一円周上に乗らないようにする場合、最大何個配置できるか?
ただし、一直線上に並ぶ配置は半径∞の円周上と考える。
N=3 => 5
N=4 => 7
5 => 9
6 => 11
9 => 18
どの4つの石も同一円周上に乗らないようにする場合、最大何個配置できるか?
ただし、一直線上に並ぶ配置は半径∞の円周上と考える。
N=3 => 5
N=4 => 7
5 => 9
6 => 11
9 => 18
797デフォルトの名無しさん
2018/12/08(土) 17:29:13.00ID:xmV4OmOO >>796
問題の意味がわからない。図とか描いてくれ。
問題の意味がわからない。図とか描いてくれ。
798デフォルトの名無しさん
2018/12/08(土) 17:33:47.41ID:kCA+QhwE >>796
石の大きさはゼロで格子点とでも考えればいいのかな
石の大きさはゼロで格子点とでも考えればいいのかな
799デフォルトの名無しさん
2018/12/08(土) 17:36:28.60ID:m52vxjN5 ああ共円か
有名なゲームだな
有名なゲームだな
800デフォルトの名無しさん
2018/12/08(土) 19:05:02.19ID:xmV4OmOO 共円でググってようやっとわかった。
801デフォルトの名無しさん
2018/12/08(土) 19:37:58.42ID:xPmIyiBg >>791
テトリス
テトリス
802デフォルトの名無しさん
2018/12/10(月) 02:09:47.01ID:3g7m60y1 >>782
1は0番目じゃなくて1番目だよね。念のため確認
1は0番目じゃなくて1番目だよね。念のため確認
803デフォルトの名無しさん
2018/12/12(水) 02:35:41.59ID:84v7sPOJ お題
2次元平面上で点(x,y)が点列(X1,Y1), (X2,Y2), ..., (Xn,Yn), (X1,Y1)を順に結んでできる多角形の内部にあるかどうか判定せよ
2次元平面上で点(x,y)が点列(X1,Y1), (X2,Y2), ..., (Xn,Yn), (X1,Y1)を順に結んでできる多角形の内部にあるかどうか判定せよ
804デフォルトの名無しさん
2018/12/12(水) 07:13:05.92ID:SVnAXs6w どのような多角形をなすかの
仮定で方法も違ってくるだろうけど、
一般的な場合を視野に入れる限り
複数の数学ライブラリを組み合わせて
扱うソリューションパッケージ的なものに
なりそうでお題としてはなんだかなって感じ
仮定で方法も違ってくるだろうけど、
一般的な場合を視野に入れる限り
複数の数学ライブラリを組み合わせて
扱うソリューションパッケージ的なものに
なりそうでお題としてはなんだかなって感じ
805デフォルトの名無しさん
2018/12/12(水) 08:10:30.84ID:3f3X1OW4 >>803
多角形の定義がひどい。
重なる事はあるのか、と、重なったときに内部はどうするのかとか。(抜けるのはめんどくさい)
重なってはいけないけど辺は突き抜けても良いのかとか。
描いた絵みたいな状態を許すかどうかでけっこう判定が変わる。
多角形の定義がひどい。
重なる事はあるのか、と、重なったときに内部はどうするのかとか。(抜けるのはめんどくさい)
重なってはいけないけど辺は突き抜けても良いのかとか。
描いた絵みたいな状態を許すかどうかでけっこう判定が変わる。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】日本人錯乱「集団的自衛権行使に賛成。けど自衛隊を戦わせるのは反対」 [237216734]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 小川彩佳アナ「高市総理はここまで影響が出ることを想像して発言したんでしょうか」高市ソルジャー「!!!!(シュババババ)」 [931948549]
- 今来た遊戯王やってる奴スレ
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- 自閉症が「んなっしょい」と連呼するお🏡
