プログラミングのお題スレです。
前スレ
プログラミングのお題スレ Part8©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1444216746/
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
http://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
http://runnable.com/
http://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
探検
プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/12/01(木) 16:58:30.97ID:gTkHDluD
231デフォルトの名無しさん
2017/05/24(水) 23:33:01.85ID:0ssPtL9D232デフォルトの名無しさん
2017/05/24(水) 23:48:35.88ID:99+UTRWu 各々n/7の循環部だね
233デフォルトの名無しさん
2017/05/24(水) 23:51:10.59ID:99+UTRWu234デフォルトの名無しさん
2017/05/25(木) 01:00:30.19ID:vvyNjvHe235デフォルトの名無しさん
2017/05/25(木) 01:16:57.10ID:vvyNjvHe >>234 間違えてたスマソ
Perl
use 5.016;
say 142857 * (7 - $_) for 1..6;
$ perl 9_227.pl
857142
714285
571428
428571
285714
142857
Perl
use 5.016;
say 142857 * (7 - $_) for 1..6;
$ perl 9_227.pl
857142
714285
571428
428571
285714
142857
236デフォルトの名無しさん
2017/05/25(木) 13:01:14.56ID:+8TeyhTL >>227 Squeak/Pharo Smalltalk
(142857 * (6 to: 1 by: -1)) asStringWithCr
=> '857142
714285
571428
428571
285714
142857'
(142857 * (6 to: 1 by: -1)) asStringWithCr
=> '857142
714285
571428
428571
285714
142857'
237デフォルトの名無しさん
2017/05/25(木) 13:21:29.71ID:+8TeyhTL238デフォルトの名無しさん
2017/05/25(木) 18:49:32.83ID:F0MQej0l >>227 common lisp
(do ((i 6 (- i 1))) ((equal i 0)) (print (floor (/ (* 1000000 i) 7))))
(do ((i 6 (- i 1))) ((equal i 0)) (print (floor (/ (* 1000000 i) 7))))
239デフォルトの名無しさん
2017/05/25(木) 19:28:46.12ID:MmhezNib お題が情報不足過ぎて何を使っていいのか悪いのかがわかんない
240デフォルトの名無しさん
2017/05/25(木) 21:35:24.87ID:Z+pf95Ly >>227
@Mathematica
In[1]:=142857//
IntegerDigits//
NestList[RotateLeft,#,Length[#]-1]&//
Map[FromDigits,#]&//
Sort//
Reverse//
Map[{#}&,#]&//
Grid
Out[1] = 857142
714285
571428
428571
285714
142857
@Mathematica
In[1]:=142857//
IntegerDigits//
NestList[RotateLeft,#,Length[#]-1]&//
Map[FromDigits,#]&//
Sort//
Reverse//
Map[{#}&,#]&//
Grid
Out[1] = 857142
714285
571428
428571
285714
142857
241デフォルトの名無しさん
2017/05/25(木) 21:56:10.72ID:ShXkIc2G242デフォルトの名無しさん
2017/05/25(木) 22:10:21.35ID:73MQsPzv >>227 Nim
for i in countdown(6,1): stdout.writeline i*142857
for i in countdown(6,1): stdout.writeline i*142857
243デフォルトの名無しさん
2017/05/25(木) 23:50:37.58ID:SwCyV6dp244デフォルトの名無しさん
2017/05/27(土) 20:11:30.48ID:x9+XjHY5 227 R
write((6:1)*999999/7.",1)
write((6:1)*999999/7.",1)
245デフォルトの名無しさん
2017/05/28(日) 14:54:52.19ID:/dM5Kslk >>227 SWI-Prolog
main(N, X) :- X1 is X * N, write(X1), nl, N > 1, N1 is N - 1, main(N1, X).
:- main(6, 142857).
main(N, X) :- X1 is X * N, write(X1), nl, N > 1, N1 is N - 1, main(N1, X).
:- main(6, 142857).
246プログラミングのお題
2017/06/01(木) 12:06:57.65ID:o30QeXgp トランプ氏の謎の単語
covfefe
の謎を解明する。
covfefe
の謎を解明する。
247デフォルトの名無しさん
2017/06/01(木) 13:12:24.25ID:/fo1vNun ↑
c,o,v,f,e,f,eの7文字をランダムに出力し続け、covfefeが完成するまでの文字数をカウント
c,o,v,f,e,f,eの7文字をランダムに出力し続け、covfefeが完成するまでの文字数をカウント
248デフォルトの名無しさん
2017/06/01(木) 13:47:08.78ID:sszEh+oH >>247 Squeak/Pharo Smalltalk
| count covfefe buffer |
count := 0.
covfefe := 'covfefe' asOrderedCollection.
buffer := covfefe copy atAllPut: $*.
[ count := count + 1.
Transcript nextPut: (buffer removeFirst; add: covfefe atRandom).
(count isDivisibleBy: 1000) ifTrue: [Transcript endEntry].
buffer = covfefe
] whileFalse.
Transcript endEntry.
^count "= 34301 "
| count covfefe buffer |
count := 0.
covfefe := 'covfefe' asOrderedCollection.
buffer := covfefe copy atAllPut: $*.
[ count := count + 1.
Transcript nextPut: (buffer removeFirst; add: covfefe atRandom).
(count isDivisibleBy: 1000) ifTrue: [Transcript endEntry].
buffer = covfefe
] whileFalse.
Transcript endEntry.
^count "= 34301 "
249デフォルトの名無しさん
2017/06/01(木) 23:30:50.24ID:MQJNOblg >>247 効率悪いけれど…
Perl
$w='covfefe';
@l=split '',$w;
do {
$_ .= $l[int(rand(7))];
} while (!/$w/);
print index $_, $w . "\n";
Perl
$w='covfefe';
@l=split '',$w;
do {
$_ .= $l[int(rand(7))];
} while (!/$w/);
print index $_, $w . "\n";
250デフォルトの名無しさん
2017/06/01(木) 23:44:01.17ID:MQJNOblg >>249
ゴメン、これだと最初に見つかったときに0になっちゃうんで
「完成するまでの文字数」を出すためには
× print index $_, $w . "\n";
↓
○ print index($_, $w) + 7 . "\n";
に修正させてください。
ゴメン、これだと最初に見つかったときに0になっちゃうんで
「完成するまでの文字数」を出すためには
× print index $_, $w . "\n";
↓
○ print index($_, $w) + 7 . "\n";
に修正させてください。
251デフォルトの名無しさん
2017/06/02(金) 02:47:24.66ID:znhUDH9D >>247 Nim
import random
const word = "covfefe"
var count, match = 0
randomize()
while match != word.len():
let ch = word[random word.len()]
stdout.write ch
match = if ch == word[match]: match + 1 else: 0
inc count
echo "\n", count
import random
const word = "covfefe"
var count, match = 0
randomize()
while match != word.len():
let ch = word[random word.len()]
stdout.write ch
match = if ch == word[match]: match + 1 else: 0
inc count
echo "\n", count
252デフォルトの名無しさん
2017/06/02(金) 07:41:45.64ID:r1TSATN8 それだとccovfefeのときとか抜け落ちるんじゃね?
253デフォルトの名無しさん
2017/06/02(金) 14:13:15.27ID:znhUDH9D >>252
その通りですね
お題のcovfefeなら安直な修正でいいかな
- match = if ch == word[match]: match + 1 else: 0
+ match = if ch == word[match]: match + 1 elif ch == word[0]: 1 else: 0
その通りですね
お題のcovfefeなら安直な修正でいいかな
- match = if ch == word[match]: match + 1 else: 0
+ match = if ch == word[match]: match + 1 elif ch == word[0]: 1 else: 0
254デフォルトの名無しさん
2017/06/02(金) 20:36:39.00ID:GZbUsfWf >>247 ruby
covf, buff = 'covfefe', ''
buff += covf.chars.sample until buff.end_with? covf
p buff.size
covf, buff = 'covfefe', ''
buff += covf.chars.sample until buff.end_with? covf
p buff.size
255片山博文MZ ◆T6xkBnTXz7B0
2017/06/02(金) 21:34:10.62ID:ECCI41T/ お題: 2つの別々の牧場ウィンドウがあり、その中に複数の牛がうごめいている。複数の牛を選択して、別の牧場ウィンドウにドラッグ&ドロップできるようにしなさい。
256デフォルトの名無しさん
2017/06/02(金) 21:43:02.00ID:ZGhpg2JU GUIの課題ってコードも長くなりがちたから答えにくくない?
257片山博文MZ ◆T6xkBnTXz7B0
2017/06/02(金) 21:46:38.91ID:ECCI41T/ 賞金は早い者勝ちで三千円。スクリプト野郎どもにはできないだろう。へっ。
259デフォルトの名無しさん
2017/06/02(金) 22:03:48.67ID:doJoDkLD 賞金とか誰かと思ったら片山博文MZか。
260デフォルトの名無しさん
2017/06/02(金) 23:44:04.74ID:cFhdiKGB 三千円じゃ安い
261デフォルトの名無しさん
2017/06/03(土) 01:24:32.19ID:4TZnG99D >>255
動的言語のscriptでもQt,Wxwidget,Tkinterなど色々のGUI fwが使えるから書けるよ。
でも、エッセンスがなく、会コードが無駄に長くなるお題は、作成に時間がかかるし獣よな技術はないし
趣旨を考えで出題しろよ。
すくなくとも自分で作る気になれる題を出せ
動的言語のscriptでもQt,Wxwidget,Tkinterなど色々のGUI fwが使えるから書けるよ。
でも、エッセンスがなく、会コードが無駄に長くなるお題は、作成に時間がかかるし獣よな技術はないし
趣旨を考えで出題しろよ。
すくなくとも自分で作る気になれる題を出せ
262デフォルトの名無しさん
2017/06/03(土) 01:26:10.05ID:4TZnG99D263デフォルトの名無しさん
2017/06/03(土) 01:50:43.99ID:4TZnG99D でも、まぁ地獄の沙汰も金次第というじゃありませんか。
お見積もり30万円以上でしたらpython+tkinterで書いてお納めすtることも
検討させていただきますよ。ハイ
更にハイグレードに300万円だったらPerl+Ptkもお付けいたいます。
いかがですか?だんな
もみ手
お見積もり30万円以上でしたらpython+tkinterで書いてお納めすtることも
検討させていただきますよ。ハイ
更にハイグレードに300万円だったらPerl+Ptkもお付けいたいます。
いかがですか?だんな
もみ手
264デフォルトの名無しさん
2017/06/03(土) 19:38:09.78ID:bt+/AaG5 【問題】
アルバートとバーナードは、シェリルと友達になったばかりです。
シェリルの誕生日を2人は聞きましたが、彼女は10個の日にちを候補としてあげました。
・5月15日、5月16日、5月19日
・6月17日、6月18日
・7月14日、7月16日
・8月14日、8月15日、8月17日
それからシェリルは、アルバートに「月」だけを、バーナードに「日付」だけをそれぞれ教えました。
アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
アルバート「それなら僕もいつだか知っているよ」
シェリルの誕生日はいつでしょうか?
プログラムを書いてプログラムに解かせること。
アルバートとバーナードは、シェリルと友達になったばかりです。
シェリルの誕生日を2人は聞きましたが、彼女は10個の日にちを候補としてあげました。
・5月15日、5月16日、5月19日
・6月17日、6月18日
・7月14日、7月16日
・8月14日、8月15日、8月17日
それからシェリルは、アルバートに「月」だけを、バーナードに「日付」だけをそれぞれ教えました。
アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
アルバート「それなら僕もいつだか知っているよ」
シェリルの誕生日はいつでしょうか?
プログラムを書いてプログラムに解かせること。
265デフォルトの名無しさん
2017/06/03(土) 20:24:51.42ID:LavjhbKR Console.WriteLine("知らんがな");
266デフォルトの名無しさん
2017/06/03(土) 20:43:26.68ID:GyX0IIiI (begin (display "知らんがな")(newline))
267デフォルトの名無しさん
2017/06/03(土) 21:39:03.81ID:3br47TQ3 print("知らんがな")
268デフォルトの名無しさん
2017/06/03(土) 21:39:54.96ID:+ZiDT+Cr 世界で初めて原爆実験が行われた日を
わざわざ答えに選んだのは何か意図があってのこと?
わざわざ答えに選んだのは何か意図があってのこと?
269デフォルトの名無しさん
2017/06/04(日) 02:59:00.78ID:vYNPJugT 2年前のログ見てみたけどそのときはここに持ちこむ奴いなかったんだな
Prologおじさんとかが嬉々としてやりそうだけど
Prologおじさんとかが嬉々としてやりそうだけど
270デフォルトの名無しさん
2017/06/04(日) 03:31:57.97ID:JSJPiIxT 7月16日
271デフォルトの名無しさん
2017/06/04(日) 11:23:47.25ID:ICo3ogub272デフォルトの名無しさん
2017/06/04(日) 12:17:11.76ID:/fL6DBjJ >>264 Perl
@md = ([5, 15], [5, 16], [5, 19],
[6, 17], [6, 18],
[7, 14], [7, 16],
[8, 14], [8, 15], [8, 17]);
push @{$c{$$_[1]}}, $$_[0] for @md;
push @{$d{$$_[0]}}, $$_[1] for grep{1 < @{$c{$$_[1]}}} @md;
while (($m, $v) = each %d) {
print "$m/$$v[0]\n" if 1== @$v;
}
実行結果
$ perl 9_264.pl
6/17
@md = ([5, 15], [5, 16], [5, 19],
[6, 17], [6, 18],
[7, 14], [7, 16],
[8, 14], [8, 15], [8, 17]);
push @{$c{$$_[1]}}, $$_[0] for @md;
push @{$d{$$_[0]}}, $$_[1] for grep{1 < @{$c{$$_[1]}}} @md;
while (($m, $v) = each %d) {
print "$m/$$v[0]\n" if 1== @$v;
}
実行結果
$ perl 9_264.pl
6/17
273デフォルトの名無しさん
2017/06/04(日) 12:22:24.53ID:/fL6DBjJ >>272
7月16日が正解なら 解き方間を違えているのかも知れん
7月16日が正解なら 解き方間を違えているのかも知れん
274デフォルトの名無しさん
2017/06/04(日) 14:27:12.46ID:ArM8onCc アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
5,6月を排除
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
14日を排除
アルバート「それなら僕もいつだか知っているよ」
残り候補が一つの月 -> 7月16日
5,6月を排除
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
14日を排除
アルバート「それなら僕もいつだか知っているよ」
残り候補が一つの月 -> 7月16日
275デフォルトの名無しさん
2017/06/04(日) 15:02:32.31ID:/fL6DBjJ >>272 の解き方で考えたこと
アルバート「僕は(「月」だけしか教えてもらっていないので)シェリルの誕生日を知らないけど、
(「日付」だけを教えてもらった)バーナードも知らないよ」
⇒「日付」だけ聞けば誕生日だと判明する、即ち日の登場回数が一回だけの月日、
具体的には5月19日、6月18日は対象外とみなし除去
バーナード「僕は「日付」だけを教えてもらっても)シェリルの誕生日を知らなかったけど、
アルバートが「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」と言うのを聞いて
今は知ってるよ」
⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
誕生日だと考えられる。
⇒6/17
この考え方が違ったんだろうな…
アルバート「僕は(「月」だけしか教えてもらっていないので)シェリルの誕生日を知らないけど、
(「日付」だけを教えてもらった)バーナードも知らないよ」
⇒「日付」だけ聞けば誕生日だと判明する、即ち日の登場回数が一回だけの月日、
具体的には5月19日、6月18日は対象外とみなし除去
バーナード「僕は「日付」だけを教えてもらっても)シェリルの誕生日を知らなかったけど、
アルバートが「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」と言うのを聞いて
今は知ってるよ」
⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
誕生日だと考えられる。
⇒6/17
この考え方が違ったんだろうな…
276デフォルトの名無しさん
2017/06/04(日) 15:42:35.42ID:ArM8onCc >>275
アルバートは月を知ってるが、バーナードも知らない事を確信できるのは、
18,19日を含まない7,8月のどちらかという事になる -> 5,6月は全削除
それを聞いてバーナードは誕生日がわかるので、7,8月両方に含まれる14日ではなく、
15,16,17日のどれかになる
それを聞いてアルバートがわかるので、候補が一つしか残ってない7月16日という事になる
アルバートは月を知ってるが、バーナードも知らない事を確信できるのは、
18,19日を含まない7,8月のどちらかという事になる -> 5,6月は全削除
それを聞いてバーナードは誕生日がわかるので、7,8月両方に含まれる14日ではなく、
15,16,17日のどれかになる
それを聞いてアルバートがわかるので、候補が一つしか残ってない7月16日という事になる
277デフォルトの名無しさん
2017/06/04(日) 16:11:15.57ID:Thsr1gL6 6/17の方ぽいね
278デフォルトの名無しさん
2017/06/04(日) 16:23:55.65ID:8topuOK/ 5,6月は全排除でしょ
279デフォルトの名無しさん
2017/06/04(日) 16:27:46.47ID:/fL6DBjJ280デフォルトの名無しさん
2017/06/04(日) 16:46:10.26ID:3NGxsH/O >>279
解釈の差だけが問題じゃないだろ
> ⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
> 登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
> 誕生日だと考えられる。
18日、19日は日の登場回数が一回だけであるということは
他の日は複数回登場するということだからその論理は破綻してる
解釈の差だけが問題じゃないだろ
> ⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
> 登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
> 誕生日だと考えられる。
18日、19日は日の登場回数が一回だけであるということは
他の日は複数回登場するということだからその論理は破綻してる
281デフォルトの名無しさん
2017/06/04(日) 16:54:14.37ID:/fL6DBjJ >>280
それは誤解というか解読不足。
5月19日、6月18日が除去されることによって、
元々複数回登場していた他の日のうち6月17日が単一の日となり
17日という日付さえ知らされれば、誕生日は6月17日と判明できる。
それは誤解というか解読不足。
5月19日、6月18日が除去されることによって、
元々複数回登場していた他の日のうち6月17日が単一の日となり
17日という日付さえ知らされれば、誕生日は6月17日と判明できる。
282デフォルトの名無しさん
2017/06/04(日) 17:03:26.79ID:ArM8onCc >>281
客観的に見て、アルバートがバーナードも知らない事を確信できる為には、
アルバート自身が知っている月には18,19日が含まれていない必要がある
従って、アルバートが知っている月は5,6月ではないという事
客観的に見て、アルバートがバーナードも知らない事を確信できる為には、
アルバート自身が知っている月には18,19日が含まれていない必要がある
従って、アルバートが知っている月は5,6月ではないという事
283デフォルトの名無しさん
2017/06/04(日) 17:07:47.61ID:/fL6DBjJ284デフォルトの名無しさん
2017/06/04(日) 17:11:33.29ID:/fL6DBjJ >>281
17日は8月17日もあるから、
6月が17日だけになったからといって、
6月17日が誕生日だとするのは
アルバート、バーナードの台詞を根拠に基づく論理に
無理がないか検証不十分だという気が自分でもしてきた
17日は8月17日もあるから、
6月が17日だけになったからといって、
6月17日が誕生日だとするのは
アルバート、バーナードの台詞を根拠に基づく論理に
無理がないか検証不十分だという気が自分でもしてきた
285デフォルトの名無しさん
2017/06/04(日) 17:12:55.48ID:ArM8onCc >>283
逆に最初の時点でアルバートはバーナードが知らないとは確信できない
例えばアルバートは6月と聞かされた場合、6月18日の可能性もあるので、
それだとバーナードは18日と聞かされているから知ってるかもしれない
逆に最初の時点でアルバートはバーナードが知らないとは確信できない
例えばアルバートは6月と聞かされた場合、6月18日の可能性もあるので、
それだとバーナードは18日と聞かされているから知ってるかもしれない
286デフォルトの名無しさん
2017/06/04(日) 17:26:33.24ID:/fL6DBjJ >>285
大体分かった。ありがとう
単一な日をまったく含まない月を教えられたからこそ、
アルバートは最初の台詞
「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
になったという考え方だね。
大体分かった。ありがとう
単一な日をまったく含まない月を教えられたからこそ、
アルバートは最初の台詞
「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
になったという考え方だね。
287デフォルトの名無しさん
2017/06/04(日) 17:30:30.29ID:ArM8onCc >>286
イエスイエス
イエスイエス
288デフォルトの名無しさん
2017/06/04(日) 22:32:17.70ID:BGwDpUyE ディスコプログラミングコンテスト 2017 7/8
https://www.disco.co.jp/procon/
の練習問題
https://www.disco.co.jp/procon/#example
解答バレにならないように1語だけ書くけど
1問目の
TOUSHITSUWOTOTTE
だけが、わけわからん
https://www.disco.co.jp/procon/
の練習問題
https://www.disco.co.jp/procon/#example
解答バレにならないように1語だけ書くけど
1問目の
TOUSHITSUWOTOTTE
だけが、わけわからん
289デフォルトの名無しさん
2017/06/05(月) 00:31:08.14ID:cnQQABDP290デフォルトの名無しさん
2017/06/05(月) 08:51:14.13ID:h9zULQkR 糖質を摂って
だよねぇ。
謎のメッセージだな。
だよねぇ。
謎のメッセージだな。
291デフォルトの名無しさん
2017/06/05(月) 09:47:23.18ID:Na336mAM292デフォルトの名無しさん
2017/06/05(月) 10:35:52.00ID:S7KIxJHR 糖質が頭の働きを良くするという通説と逆に頭を鈍らせるという説があるけど
この会社が前者を支持することを明言する意味がある
この会社が前者を支持することを明言する意味がある
293デフォルトの名無しさん
2017/06/05(月) 13:18:37.12ID:nmQdV7hA 例題に挑戦して下さりありがとうございます!全問正解した参加者にはディスコ限定どら焼きをプレゼント!
大会当日に受付でお渡ししします。糖質を摂って優勝目指して頑張って下さい!
大会当日に受付でお渡ししします。糖質を摂って優勝目指して頑張って下さい!
294デフォルトの名無しさん
2017/06/05(月) 13:45:37.09ID:hFu+7Z6c 誰が統失だって?
295デフォルトの名無しさん
2017/06/05(月) 17:48:32.89ID:2PleAf1D ダメじゃん。全解答を書いちゃって。
でも簡単すぎる問題だしどうでもいいか。
でも簡単すぎる問題だしどうでもいいか。
296デフォルトの名無しさん
2017/06/26(月) 21:09:32.46ID:92/cX5j1 前にあったやつ。
回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。
コンベアは毎秒1皿分の速度で流れ、目の前の皿を取るか取らないかを選ぶことができる。
皿取ると同時に食べ始め、食べている間は次の皿を取ることができない。
私が取る以外、皿は追加されたり無くなったりしない。
コンベアの状態が次のような文字列で与えられる。
"31_2"
数字はその皿を食べ終えるのにかかる秒数を表し、_は皿がないことを表す。1文字目が目の前にあり毎秒、左へ回転する。
例えば、"31_2"で最初の皿を食べたとき食べ終わった時の状態は、"2_1_"となる。
すべての寿司を食べ終えるまで最短何秒かかるか求めよ。
"12_3" > 6秒
"313__" > 8秒
"4_35_1264_23_434" > 60秒
"123456789123456789" > 98秒
"88967472612377988186" > 149秒
"19898693316679441672" > 170秒
"93769682716711132249893" > ?
回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。
コンベアは毎秒1皿分の速度で流れ、目の前の皿を取るか取らないかを選ぶことができる。
皿取ると同時に食べ始め、食べている間は次の皿を取ることができない。
私が取る以外、皿は追加されたり無くなったりしない。
コンベアの状態が次のような文字列で与えられる。
"31_2"
数字はその皿を食べ終えるのにかかる秒数を表し、_は皿がないことを表す。1文字目が目の前にあり毎秒、左へ回転する。
例えば、"31_2"で最初の皿を食べたとき食べ終わった時の状態は、"2_1_"となる。
すべての寿司を食べ終えるまで最短何秒かかるか求めよ。
"12_3" > 6秒
"313__" > 8秒
"4_35_1264_23_434" > 60秒
"123456789123456789" > 98秒
"88967472612377988186" > 149秒
"19898693316679441672" > 170秒
"93769682716711132249893" > ?
297デフォルトの名無しさん
2017/06/26(月) 22:59:10.29ID:GM19K0OY 計算オーダーの条件は?
無いなら二進木で
無いなら二進木で
298デフォルトの名無しさん
2017/06/26(月) 23:01:34.06ID:GM19K0OY 皿がもうちょっと多いと難しくなるけど、>>296なら力業でも
299デフォルトの名無しさん
2017/06/26(月) 23:40:33.73ID:JhsaOf6q >>296 Perl
ttp://ideone.com/iUAYUy
実行結果は
$ perl 9_296.pl
12_3: 6
313__: 10 (合わない…orz)
4_35_1264_23_434: 62 (合わない…orz)
123456789123456789: 98
88967472612377988186: 151 (合わない…orz)
19898693316679441672: 170
93769682716711132249893: 176
となり、半分が合わない。
そのうち 313__ を手で研鑽すると 10 になるのだが、
313__ は本当に8になるの?
ttp://ideone.com/iUAYUy
実行結果は
$ perl 9_296.pl
12_3: 6
313__: 10 (合わない…orz)
4_35_1264_23_434: 62 (合わない…orz)
123456789123456789: 98
88967472612377988186: 151 (合わない…orz)
19898693316679441672: 170
93769682716711132249893: 176
となり、半分が合わない。
そのうち 313__ を手で研鑽すると 10 になるのだが、
313__ は本当に8になるの?
300デフォルトの名無しさん
2017/06/26(月) 23:41:06.22ID:JhsaOf6q >>299
研鑽じゃねぇや手で起算な。
研鑽じゃねぇや手で起算な。
301デフォルトの名無しさん
2017/06/26(月) 23:45:40.94ID:JhsaOf6q >>300
起算でもねえ、手で計算な…orz
起算でもねえ、手で計算な…orz
302デフォルトの名無しさん
2017/06/26(月) 23:58:59.38ID:92/cX5j1 313__ はこれでは?
まず一皿ながして
1を食う、2秒時点の状態 3__3_
3を食う、5秒時点の状態 3____
3を食う、8秒で食べ終わり
まず一皿ながして
1を食う、2秒時点の状態 3__3_
3を食う、5秒時点の状態 3____
3を食う、8秒で食べ終わり
303デフォルトの名無しさん
2017/06/27(火) 00:02:53.75ID:5fkiI7k4304デフォルトの名無しさん
2017/06/27(火) 00:12:08.45ID:PK1LDhK1 >>296 は、
目の前にあるやつを食べ続けるだけで最短になっちゃうのもあるってことか。
目の前にあるやつを食べ続けるだけで最短になっちゃうのもあるってことか。
305デフォルトの名無しさん
2017/06/27(火) 00:46:54.34ID:v9AhJc3r306デフォルトの名無しさん
2017/06/27(火) 08:18:25.38ID:bJ//gE7J 考えてみたけと計算オーダーを減らすのはむずかしいね
枝刈りは色々と出来るけど
枝刈りは色々と出来るけど
307デフォルトの名無しさん
2017/06/28(水) 00:38:04.57ID:SkQPDtDj >>218 Perl
ttp://ideone.com/ylFIEa
ソースコード4行目の
my $n = 8; # 分割する自然数を設定
の8を書き換えると他の整数についてもヤング図形を出力できます。
ttp://ideone.com/ylFIEa
ソースコード4行目の
my $n = 8; # 分割する自然数を設定
の8を書き換えると他の整数についてもヤング図形を出力できます。
308デフォルトの名無しさん
2017/06/28(水) 10:38:30.75ID:+O8L6XqQ 366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
309デフォルトの名無しさん
2017/06/28(水) 10:38:43.66ID:+O8L6XqQ 瑕疵担保責任(かしたんぽせきにん)
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
310デフォルトの名無しさん
2017/06/28(水) 10:56:55.66ID:fzKvr8sM コピペマン参上!!まで読んだ
311デフォルトの名無しさん
2017/06/28(水) 22:13:35.80ID:CE32dHls >>305
修正 http://ideone.com/PGKCb4
経路情報復元(ベストは複数あるかもしれない中から一つ選んで)。
ついでにその経路での途中経過を表示してみた。
インデックス、待機秒数、開始時間、食事秒数、終了時間、
修正 http://ideone.com/PGKCb4
経路情報復元(ベストは複数あるかもしれない中から一つ選んで)。
ついでにその経路での途中経過を表示してみた。
インデックス、待機秒数、開始時間、食事秒数、終了時間、
312デフォルトの名無しさん
2017/06/28(水) 23:25:36.64ID:KJ5QOfYg313デフォルトの名無しさん
2017/07/01(土) 18:47:40.02ID:tnFwdv+3 前に書いたけどコード紛失した。
314デフォルトの名無しさん
2017/07/01(土) 21:49:46.76ID:WoDBh/Wa お題: パスカルの三角形
315デフォルトの名無しさん
2017/07/01(土) 22:05:06.08ID:1Cx1myAa >>314
良いお題だね
良いお題だね
316デフォルトの名無しさん
2017/07/02(日) 13:43:30.38ID:bHJ33QxN317デフォルトの名無しさん
2017/07/03(月) 08:12:51.85ID:EltE6GHS318デフォルトの名無しさん
2017/07/04(火) 21:28:12.76ID:QK6Kginy >>296 >>299 Perl5
http://ideone.com/0yJ5U9
リスト処理ではなく、先ずは正規表現と文字列処理を使って書いてみた。
31…の3のように、食べているうちに後続の数値皿が通り過ぎてしまうような、
取りこぼしを起こし得る皿では、その数値を食べるか、あるいはスルーするか、
再帰的に両方に分岐し、木構造で計算しているが、
逆に食べている間に飛び越しを起こさないところでは、分岐が不要なので
来た順に直ちに食べることによって、枝分かれの過剰な細分化を抑制した。
それでも全探査すると、サンプルデータの三つ目まではすぐ解けるが、
四つめ以降は時間がかかりいつ終わるか分からない。
そこで、検索された食事秒数の最小値の更新状況を記録し、
同じ最小値が一定回数以上連続して繰り返し検出されるようになったら
最短値に収束したと見なし、探索を打ち切ることによって短時間で
解を出力できるようにした。打ち切り上限は10をハードコードしてあるが
今回のサンプルデータについては4か5で十分そうだ。
なお、23_ のような、2を食べることによって飛び越しを起こすポイントの
一番最後のものは,食べずにスルーして先に2を食べた方が、
次の周で早く食べ終わることは明らかだ。
これを演繹的に繰り返して、遡ってゆけば、上記のように木構造に
わたって動的に計算して探索しなくても、静的に求解できそうな気がしたが
難しそうなので、見送った。
http://ideone.com/0yJ5U9
リスト処理ではなく、先ずは正規表現と文字列処理を使って書いてみた。
31…の3のように、食べているうちに後続の数値皿が通り過ぎてしまうような、
取りこぼしを起こし得る皿では、その数値を食べるか、あるいはスルーするか、
再帰的に両方に分岐し、木構造で計算しているが、
逆に食べている間に飛び越しを起こさないところでは、分岐が不要なので
来た順に直ちに食べることによって、枝分かれの過剰な細分化を抑制した。
それでも全探査すると、サンプルデータの三つ目まではすぐ解けるが、
四つめ以降は時間がかかりいつ終わるか分からない。
そこで、検索された食事秒数の最小値の更新状況を記録し、
同じ最小値が一定回数以上連続して繰り返し検出されるようになったら
最短値に収束したと見なし、探索を打ち切ることによって短時間で
解を出力できるようにした。打ち切り上限は10をハードコードしてあるが
今回のサンプルデータについては4か5で十分そうだ。
なお、23_ のような、2を食べることによって飛び越しを起こすポイントの
一番最後のものは,食べずにスルーして先に2を食べた方が、
次の周で早く食べ終わることは明らかだ。
これを演繹的に繰り返して、遡ってゆけば、上記のように木構造に
わたって動的に計算して探索しなくても、静的に求解できそうな気がしたが
難しそうなので、見送った。
319デフォルトの名無しさん
2017/07/04(火) 21:31:48.78ID:QK6Kginy320デフォルトの名無しさん
2017/07/04(火) 23:51:29.56ID:sQGcZTdy321318
2017/07/06(木) 00:31:45.46ID:iCfNzc8Y >>320
誤解です。
枝刈りは、ある探索中の枝において始点から既に経過した秒数が
それまでの別の枝における探索で最後まで食べた最小秒数を超過したら、
現在の枝の探索はもうこれ以上進んでも秒数が増える一方なので打ち切って
別の枝の探索に移るというものなので大丈夫です。
"3324" の最短秒数を探索すると 15秒になります。
誤解です。
枝刈りは、ある探索中の枝において始点から既に経過した秒数が
それまでの別の枝における探索で最後まで食べた最小秒数を超過したら、
現在の枝の探索はもうこれ以上進んでも秒数が増える一方なので打ち切って
別の枝の探索に移るというものなので大丈夫です。
"3324" の最短秒数を探索すると 15秒になります。
322デフォルトの名無しさん
2017/07/06(木) 00:52:46.56ID:ywrsmrRJ323318
2017/07/06(木) 01:20:52.00ID:iCfNzc8Y >>322
同じコードをideoneに張りなおして3324を入力して実行してみました。
http://ideone.com/vXrTp8
ソースを一箇所編集しています。
31 die if $hit >= 20; # 一定以上同じ最小値が繰り返し計算されたら収束と判定し脱出
の繰り返し回数上限判定地を10から20に増やしています。
3324は15になりますが、15が登場するのは11回目以降でそれまで16が出続けます。
3364も20が10回繰り返した後19が出て続きます。
お手数おかけしますが
一定以上同じ最小値が繰り返し計算されたかの判定値を10より多くして
評価してください。
同じコードをideoneに張りなおして3324を入力して実行してみました。
http://ideone.com/vXrTp8
ソースを一箇所編集しています。
31 die if $hit >= 20; # 一定以上同じ最小値が繰り返し計算されたら収束と判定し脱出
の繰り返し回数上限判定地を10から20に増やしています。
3324は15になりますが、15が登場するのは11回目以降でそれまで16が出続けます。
3364も20が10回繰り返した後19が出て続きます。
お手数おかけしますが
一定以上同じ最小値が繰り返し計算されたかの判定値を10より多くして
評価してください。
324318
2017/07/06(木) 01:35:51.32ID:iCfNzc8Y >>323
3324と3364の解を見ていて気が付いた点があります。
一定以上同じ最小値が繰り返し計算されたかの判定値を20にしていますが、
3324の15や3364の19は20ではなくて13回しか現れず、これが最小値のため
解として表示されています。
これは、3324の15や3364が4桁しかないので、
最小値が20回現れる前に全探査が完了し、その中で見つかった最小値を
解として表示していることによります。
>>318の一定回数繰り返したら収束とみなすという判定方法は、
ニュートン法のような数値計算では有効ですが、
>>296の問題の解の判定方法としては適切とは言えないかもしれませんね…orz
3324と3364の解を見ていて気が付いた点があります。
一定以上同じ最小値が繰り返し計算されたかの判定値を20にしていますが、
3324の15や3364の19は20ではなくて13回しか現れず、これが最小値のため
解として表示されています。
これは、3324の15や3364が4桁しかないので、
最小値が20回現れる前に全探査が完了し、その中で見つかった最小値を
解として表示していることによります。
>>318の一定回数繰り返したら収束とみなすという判定方法は、
ニュートン法のような数値計算では有効ですが、
>>296の問題の解の判定方法としては適切とは言えないかもしれませんね…orz
325デフォルトの名無しさん
2017/07/06(木) 01:53:08.89ID:bBo7q2K6 3324を拡張した887654329は閾値どれくらい増やせば対応できるんですかね
326318
2017/07/06(木) 02:06:40.59ID:iCfNzc8Y >>325
延々探索を続けないと解に至らないかもしれない入力については
定数で打ち切りを決めるこの解法じゃ解に至りにくいかもしれない。
887654329がそういったカテゴリーに属する入力かというと
チョット分からない。
なので適切な閾値はこれだと断言しにくいです。
さーせん
延々探索を続けないと解に至らないかもしれない入力については
定数で打ち切りを決めるこの解法じゃ解に至りにくいかもしれない。
887654329がそういったカテゴリーに属する入力かというと
チョット分からない。
なので適切な閾値はこれだと断言しにくいです。
さーせん
327デフォルトの名無しさん
2017/07/06(木) 21:08:21.84ID:ywrsmrRJ328318
2017/07/06(木) 22:03:39.91ID:0agEc1HZ329318
2017/07/06(木) 22:08:34.07ID:0agEc1HZ 見込みの無い枝をもっと早めに切り上げらる方法がありそうだと気が付いた。
それによって20で打ち切るようなやり方を改善できればいいんだけれども…
それでも計算量が増えていくと、真の解に至るまでにかかる時間が増大して
とけなくなる
それによって20で打ち切るようなやり方を改善できればいいんだけれども…
それでも計算量が増えていくと、真の解に至るまでにかかる時間が増大して
とけなくなる
330デフォルトの名無しさん
2017/07/06(木) 23:01:53.78ID:ywrsmrRJ331318
2017/07/06(木) 23:19:13.87ID:0agEc1HZ >>330
絡むね。そんな暇あったらコードでも書けばいいのにw
閾値20でその入力については解の探査を止めて
別の枝に移らず次の入力データに移るのはどちらかといえば中断で、
枝かりではないでしょ。
>319
> >>318
> 書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら
> 打ち切るという、簡単な枝刈りを取り入れてあります。
にかいてあるでしょうに。
>>318は”3324”の最短に到達しないから>>321の
> "3324" の最短秒数を探索すると 15秒になります。
>というのも嘘
これは10回の打ち切りの緩和を書きもらしたんだよ。
何が狙いで、こだわって絡んでくるやらねぇ。
絡むね。そんな暇あったらコードでも書けばいいのにw
閾値20でその入力については解の探査を止めて
別の枝に移らず次の入力データに移るのはどちらかといえば中断で、
枝かりではないでしょ。
>319
> >>318
> 書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら
> 打ち切るという、簡単な枝刈りを取り入れてあります。
にかいてあるでしょうに。
>>318は”3324”の最短に到達しないから>>321の
> "3324" の最短秒数を探索すると 15秒になります。
>というのも嘘
これは10回の打ち切りの緩和を書きもらしたんだよ。
何が狙いで、こだわって絡んでくるやらねぇ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」★2 [muffin★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 『水ダウ』年内は「名探偵津田」一色 藤井健太郎氏が報告 未公開"長袖"SP&第4話前編・後編とも90分SP [muffin★]
- 今って無料の動画編集ソフトっいいのあるの?
- まったりまったりおじゃる丸待機スレ🏡
- 【ゼイ】日本の税収がぐんぐん増加!たった3年で10兆円増加し、ついに80兆円を超える!日本の未来は世界羨むバラ色に [219241683]
- 【鬼畜】英国史上、最悪のレイプ魔。判明分だけで136人が被害。レイプ中の動画は3テラにおよぶ。クラブやバーから出てくる男を狙う手口 [219241683]
- 高市応援団「都合よく解釈するな」「撤回すると言ってない」「中国と断交」「撤回する必要ない」「答弁変わってない」「武力行使しろ」 [931948549]
- ヤンジャン新人漫画大賞、入賞作品のAI絵疑惑で大荒れ😄😄😄 高市早苗要素あり [175344491]
