プログラミングのお題スレです。
【出題と回答例】
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.5ch.net/test/read.cgi/tech/1549160513/
探検
プログラミングのお題スレ Part14
■ このスレッドは過去ログ倉庫に格納されています
2019/05/18(土) 17:33:29.45ID:BWmpW4IF
712デフォルトの名無しさん
2019/07/05(金) 00:33:12.20ID:4z1quspY713デフォルトの名無しさん
2019/07/05(金) 00:41:15.13ID:4z1quspY >>711 たびたびゴメン、微妙に間違えていた、この入力の場合答えは変わらないけど
sub f {
@a = map{'*' eq $_} split '', '.*...**.*.***..';
for ($t = 2; $t <= 100; $t++) {
@b = $_[0]->();
$t--, last if "@b" eq "@a";
@a = @b;
}
@a = map{$_ ? '*' : '.'} @b;
}
f(sub{map{$a[$_] and ($a[$_-1] xor $a[$_+1])} 0..$#a});
print "生存のみ $t: ", @a, "\n";
f(sub{$a[1], (map{$a[$_-1] xor $a[$_+1]} 1..$#a-1), $a[$#a-1]});
print "誕生あり $t: ", @a, "\n";
~ $ perl 14_695.pl
生存のみ 3: .....**........
誕生あり 13: ...............
sub f {
@a = map{'*' eq $_} split '', '.*...**.*.***..';
for ($t = 2; $t <= 100; $t++) {
@b = $_[0]->();
$t--, last if "@b" eq "@a";
@a = @b;
}
@a = map{$_ ? '*' : '.'} @b;
}
f(sub{map{$a[$_] and ($a[$_-1] xor $a[$_+1])} 0..$#a});
print "生存のみ $t: ", @a, "\n";
f(sub{$a[1], (map{$a[$_-1] xor $a[$_+1]} 1..$#a-1), $a[$#a-1]});
print "誕生あり $t: ", @a, "\n";
~ $ perl 14_695.pl
生存のみ 3: .....**........
誕生あり 13: ...............
714デフォルトの名無しさん
2019/07/05(金) 07:06:17.78ID:8ZiX2Qqp715701
2019/07/05(金) 07:27:15.34ID:FwZHoBTZ >>695 ruby 13ターンで全滅 (>>701 bit演算化)
life = '.*...**.*.***..'
bord = life.tr('.*','01').to_i(2)
mask = 2 ** life.size - 1
fmt = "%%0%db" % life.size
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord2 = ((bord<<1)^(bord>>1)) & mask # rule 1, 2, 3, 4
break if bord == bord2
bord = bord2
}
life = '.*...**.*.***..'
bord = life.tr('.*','01').to_i(2)
mask = 2 ** life.size - 1
fmt = "%%0%db" % life.size
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord2 = ((bord<<1)^(bord>>1)) & mask # rule 1, 2, 3, 4
break if bord == bord2
bord = bord2
}
716695
2019/07/05(金) 12:37:23.14ID:imex3OYJ >>706
>1. 両隣が生きていれば、暑苦しいので死ぬ
これを変形して、
1a. 自マスが生きている場合、両隣が生きていれば、暑苦しいので死ぬ
1b. 自マスが死んでいる場合、両隣が生きていれば、生きる(新たに誕生する)
1c. ただし、両端の2つのマスについては、1a, 1b を適用せず、ルール4 で良い。
4. 両端の2つについては、隣が生きていれば生きるし、隣が死んでいれば死ぬ
つまり、両端の2つについては、そのマスの両隣の内、
存在しないマスを死んでいるものとして扱うと、常に、1a, 1bには該当しない
興味があれば、この変形ルールでも、やってみてください!
ただし、漏れは、どうなるのか知りませんがw
>>707
確かに、ルール90 と同じです
>1. 両隣が生きていれば、暑苦しいので死ぬ
これを変形して、
1a. 自マスが生きている場合、両隣が生きていれば、暑苦しいので死ぬ
1b. 自マスが死んでいる場合、両隣が生きていれば、生きる(新たに誕生する)
1c. ただし、両端の2つのマスについては、1a, 1b を適用せず、ルール4 で良い。
4. 両端の2つについては、隣が生きていれば生きるし、隣が死んでいれば死ぬ
つまり、両端の2つについては、そのマスの両隣の内、
存在しないマスを死んでいるものとして扱うと、常に、1a, 1bには該当しない
興味があれば、この変形ルールでも、やってみてください!
ただし、漏れは、どうなるのか知りませんがw
>>707
確かに、ルール90 と同じです
717デフォルトの名無しさん
2019/07/05(金) 15:42:56.85ID:RqW7c8ei 【7ピンN枚の河内塔の最短手順問題】
初期状態では帽子はピン0
にあり、ピン6にすべて移す
までの最小手順の回数を求める
例:
N=3 5回
0->4
0->5
0->6
5->6
4->6
初期状態では帽子はピン0
にあり、ピン6にすべて移す
までの最小手順の回数を求める
例:
N=3 5回
0->4
0->5
0->6
5->6
4->6
718デフォルトの名無しさん
2019/07/05(金) 16:33:02.65ID:FwZHoBTZ >>716 ruby 63ターン以降2周期ループ(62,63,62,63,,,)
life = '.*...**.*.***..'
bord = life.tr('.*','01').to_i(2)
mask = 2 ** life.size - 1
fmt = "%%0%db" % life.size
bords = {bord=>true}
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord2 = (bord<<1 ^ bord>>1 | bord<<1 & bord>>1 & ~bord) & mask # rule >>706, >>716
break if bords[bord2]
bord = bord2
bords[bord] = true
}
life = '.*...**.*.***..'
bord = life.tr('.*','01').to_i(2)
mask = 2 ** life.size - 1
fmt = "%%0%db" % life.size
bords = {bord=>true}
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord2 = (bord<<1 ^ bord>>1 | bord<<1 & bord>>1 & ~bord) & mask # rule >>706, >>716
break if bords[bord2]
bord = bord2
bords[bord] = true
}
720デフォルトの名無しさん
2019/07/05(金) 18:27:24.81ID:XEA++p8t >>716
3a、3b は?
3a、3b は?
721695
2019/07/05(金) 19:42:34.54ID:imex3OYJ722デフォルトの名無しさん
2019/07/05(金) 22:52:47.49ID:aEAVP96+723デフォルトの名無しさん
2019/07/05(金) 23:55:57.51ID:FwZHoBTZ #>>716 ruby # Rule を配列化。 (L C R) 3bit 0..7 の状態 >>659なら [0,1,0,1,1,0,1,0]
Rule = [0,1,0,1,1,1,1,0] # rule >>706, >>716
life = '.*...**.*.***..'
lifeBit = life.size
bord = life.tr('.*','01').to_i(2)
fmt = "%%0%db" % lifeBit
bords = {bord=>true}
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord <<= 1
bord2 = 0
lifeBit.times{|bit|
bord2 |= Rule[bord & 7] << bit
bord >>= 1
}
bord = bord2
break if bords[bord]
bords[bord] = true
}
Rule = [0,1,0,1,1,1,1,0] # rule >>706, >>716
life = '.*...**.*.***..'
lifeBit = life.size
bord = life.tr('.*','01').to_i(2)
fmt = "%%0%db" % lifeBit
bords = {bord=>true}
100.times{|gene|
puts "%5d %s" % [gene+1, (fmt % bord).tr('01','.*')]
bord <<= 1
bord2 = 0
lifeBit.times{|bit|
bord2 |= Rule[bord & 7] << bit
bord >>= 1
}
bord = bord2
break if bords[bord]
bords[bord] = true
}
724デフォルトの名無しさん
2019/07/05(金) 23:56:51.12ID:aY14jca4 >>716 Pharo/Squeak Smalltalk
| map next seq start |
map := '.*...**.*.***..' asArray collect: [:x | (x = $*) asBit].
seq := OrderedCollection with: map.
next := [ | acc |
acc := map + (map allButFirst, {0}) + ({0}, map allButLast).
((#(1 2) collect: [:x | acc collect: [:elem | (elem = x) asBit]]) * {map negated + 1. 1}) sum
].
[(start := seq indexOf: (map := next value)) > 0 or: [seq size >= 100]] whileFalse: [seq add: map].
(start = 0 or: [start = seq size]) ifTrue: [seq size] ifFalse: [start to: seq size]
"=> (62 to: 63) "
| map next seq start |
map := '.*...**.*.***..' asArray collect: [:x | (x = $*) asBit].
seq := OrderedCollection with: map.
next := [ | acc |
acc := map + (map allButFirst, {0}) + ({0}, map allButLast).
((#(1 2) collect: [:x | acc collect: [:elem | (elem = x) asBit]]) * {map negated + 1. 1}) sum
].
[(start := seq indexOf: (map := next value)) > 0 or: [seq size >= 100]] whileFalse: [seq add: map].
(start = 0 or: [start = seq size]) ifTrue: [seq size] ifFalse: [start to: seq size]
"=> (62 to: 63) "
725デフォルトの名無しさん
2019/07/05(金) 23:58:19.78ID:FwZHoBTZ726デフォルトの名無しさん
2019/07/06(土) 15:06:03.47ID:LdZDcwTE >>722だけど間違ってたら、教えて。
今みんな何やってるのか把握してない。
今みんな何やってるのか把握してない。
727デフォルトの名無しさん
2019/07/06(土) 15:56:23.82ID:xBT7e3zK >>716 Perl5、5で止まる。>>720>>721の解釈違い?それともオレのBug?
%s = qw(. 0 * 1);
@a = map{$s{$_}} split '', '.*...**.*.***..';
$t = 1;
%h = ("@a" => $t);
printf "%2d: @a\n", $t;
for ($t = 2; $t <= 100; $t++) {
@b=($a[1] ? $a[0] : 0,
(map{
($a[$_-1] xor $a[$_+1]) ? $a[$_] :
(($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
} 1..$#a-1),
$a[-2] ? $a[-1] : 0
);
printf "%2d: @b\n", $t;
@a = @b;
$t--, last if exists $h{"@a"};
$h{"@a"} = $t;
}
@c = map{$_ ? '*' : '.'} @a;
printf "%d => @c\n", $t;
実行結果
~ $ perl 14_716.pl
1: 0 1 0 0 0 1 1 0 1 0 1 1 1 0 0
2: 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0
3: 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0
4: 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
5: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
6: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
5 => . . . . . . * * . . . . . . .
%s = qw(. 0 * 1);
@a = map{$s{$_}} split '', '.*...**.*.***..';
$t = 1;
%h = ("@a" => $t);
printf "%2d: @a\n", $t;
for ($t = 2; $t <= 100; $t++) {
@b=($a[1] ? $a[0] : 0,
(map{
($a[$_-1] xor $a[$_+1]) ? $a[$_] :
(($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
} 1..$#a-1),
$a[-2] ? $a[-1] : 0
);
printf "%2d: @b\n", $t;
@a = @b;
$t--, last if exists $h{"@a"};
$h{"@a"} = $t;
}
@c = map{$_ ? '*' : '.'} @a;
printf "%d => @c\n", $t;
実行結果
~ $ perl 14_716.pl
1: 0 1 0 0 0 1 1 0 1 0 1 1 1 0 0
2: 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0
3: 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0
4: 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
5: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
6: 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
5 => . . . . . . * * . . . . . . .
728デフォルトの名無しさん
2019/07/06(土) 16:00:21.54ID:LdZDcwTE >>727
おぉ、同志。(一方通行
おぉ、同志。(一方通行
729デフォルトの名無しさん
2019/07/06(土) 16:25:41.58ID:ZIRVHkTq730デフォルトの名無しさん
2019/07/06(土) 16:28:50.79ID:GxnR+B/l もしかしてハノイの塔かな
731デフォルトの名無しさん
2019/07/06(土) 16:38:33.50ID:Qorx3cLN (- (expt 2 n) 1) ぐらいの手数増加がやばいやつか
たった64枚で移し終えると世界が滅びるらしいぞw
たった64枚で移し終えると世界が滅びるらしいぞw
732デフォルトの名無しさん
2019/07/06(土) 16:51:49.60ID:ZIRVHkTq >>730
色々ググっている内に中国語で書かれたサイトで「河内塔」が見つかった。
中国語がよくわからないので何とも言えないがどうやらハノイの塔のようだ。
「河内塔(Tower of Hanoi)」と書いてある個所があり下の方にある画像は正にその説明になっている。
https://blog.csdn.net/jon_me/article/details/41986461
色々ググっている内に中国語で書かれたサイトで「河内塔」が見つかった。
中国語がよくわからないので何とも言えないがどうやらハノイの塔のようだ。
「河内塔(Tower of Hanoi)」と書いてある個所があり下の方にある画像は正にその説明になっている。
https://blog.csdn.net/jon_me/article/details/41986461
733デフォルトの名無しさん
2019/07/06(土) 17:04:45.14ID:Zeej7B2I734デフォルトの名無しさん
2019/07/06(土) 17:10:17.77ID:ZIRVHkTq ベトナム語で「河内」って書いて「ハノイ」と読むんだな。ベトナムでは今は漢字使ってないけど。
https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%8E%E3%82%A4
https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%8E%E3%82%A4
735デフォルトの名無しさん
2019/07/06(土) 17:31:45.90ID:LdZDcwTE >>733
えーっと、そのこーどだけど、死んでるセルの隣に生きてるセルがいたら生まれてるんだけどあってる?
えーっと、そのこーどだけど、死んでるセルの隣に生きてるセルがいたら生まれてるんだけどあってる?
736デフォルトの名無しさん
2019/07/06(土) 17:52:15.78ID:LdZDcwTE >>733
示唆してくれてありがとう。言い忘れてた。
示唆してくれてありがとう。言い忘れてた。
737デフォルトの名無しさん
2019/07/06(土) 18:01:01.33ID:8vjCWSQ+738デフォルトの名無しさん
2019/07/06(土) 18:16:30.66ID:LdZDcwTE うん。リンクあったら一発で書けないこともなかった。というわがまま言ってみる。
まぁ、>>733に書いてあるから、俺のタスクはないなぁ。
https://ja.wikipedia.org/wiki/%E3%82%BB%E3%83%AB%E3%83%BB%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3#ルール90
まぁ、>>733に書いてあるから、俺のタスクはないなぁ。
https://ja.wikipedia.org/wiki/%E3%82%BB%E3%83%AB%E3%83%BB%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3#ルール90
739デフォルトの名無しさん
2019/07/06(土) 18:21:51.90ID:xBT7e3zK >>733 ご指摘ありがとう。 >>721 の
> 3. 両隣の内、片方だけが生きていれば、生きる
> 元々、生きるには、誕生する事も含むから、3a, 3b は、必要ない
を、「3.自マスが死んでいる場合、両隣の何れかでも生きていれば、生まれる。」
と言う意味と捕らえなおして、>>713を書き換えたら、63でloopしたよ。
>>716 に
>1b. 自マスが死んでいる場合、両隣が生きていれば、生きる(新たに誕生する)
と誕生条件が書いてあったので、3の条件は「生まれる」条件も含むとは考えず、
「3.両隣の内、片方だけが生きていれば、自マスが生きていれば生きる(し、死んでいれば死んだまま)。」
と解釈して >>713 を作ったのが63でloopしなかった原因だと分かった。
> 3. 両隣の内、片方だけが生きていれば、生きる
> 元々、生きるには、誕生する事も含むから、3a, 3b は、必要ない
を、「3.自マスが死んでいる場合、両隣の何れかでも生きていれば、生まれる。」
と言う意味と捕らえなおして、>>713を書き換えたら、63でloopしたよ。
>>716 に
>1b. 自マスが死んでいる場合、両隣が生きていれば、生きる(新たに誕生する)
と誕生条件が書いてあったので、3の条件は「生まれる」条件も含むとは考えず、
「3.両隣の内、片方だけが生きていれば、自マスが生きていれば生きる(し、死んでいれば死んだまま)。」
と解釈して >>713 を作ったのが63でloopしなかった原因だと分かった。
740デフォルトの名無しさん
2019/07/06(土) 18:25:42.01ID:xBT7e3zK >>716,721 Perl5
%s = qw(. 0 * 1);
@a = @a = map{$s{$_}} split '', '.*...**.*.***..';
$t = 1;
%h = ("@a" => $t);
@h = ("@a");
for ($t = 2; $t <= 100; $t++) {
@b=($a[1] ? 1 : 0,
(map{
($a[$_-1] xor $a[$_+1]) ? 1 :
(($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
} 1..$#a-1),
$a[-2] ? 1 : 0
);
@a = @b;
push @h, "@a";
$t--, last if exists $h{"@a"};
$h{"@a"} = $t;
}
$i = $h{"@a"};
print $_ - 1, ": $h[$_-1]\n" for $i..@h;
実行結果
~ $ perl 14_716_721.pl
61: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
62: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
63: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
%s = qw(. 0 * 1);
@a = @a = map{$s{$_}} split '', '.*...**.*.***..';
$t = 1;
%h = ("@a" => $t);
@h = ("@a");
for ($t = 2; $t <= 100; $t++) {
@b=($a[1] ? 1 : 0,
(map{
($a[$_-1] xor $a[$_+1]) ? 1 :
(($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
} 1..$#a-1),
$a[-2] ? 1 : 0
);
@a = @b;
push @h, "@a";
$t--, last if exists $h{"@a"};
$h{"@a"} = $t;
}
$i = $h{"@a"};
print $_ - 1, ": $h[$_-1]\n" for $i..@h;
実行結果
~ $ perl 14_716_721.pl
61: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
62: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
63: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
741デフォルトの名無しさん
2019/07/06(土) 18:44:26.01ID:xBT7e3zK >>716,721 Perl5、ゴメン、結果は0 1じゃなくて.*のstringで表示すべきだったので修正させていただきます
@a = split '', '.*...**.*.***..';
@h = ("@a");
@a = map{'*' eq $_ ? 1 : 0} @a;
$t = 1;
%h = ("@a" => $t);
for ($t = 2; $t <= 100; $t++) {
@b=($a[1] ? 1 : 0,
(map{
($a[$_-1] xor $a[$_+1]) ? 1 :
(($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
} 1..$#a-1),
$a[-2] ? 1 : 0
);
push @h, join'',map {$_ ? '*' : '.'} @b;
@a = @b;
$t--, last if exists $h{"@a"};
$h{"@a"} = $t;
}
$i = $h{"@a"};
print $_ - 1, ": $h[$_-1]\n" for $i..@h;
実行結果
~ $ perl 14_716_721.pl
61: *.*.*.*.*.*.*.*
62: .*.*.*.*.*.*.*.
63: *.*.*.*.*.*.*.*
@a = split '', '.*...**.*.***..';
@h = ("@a");
@a = map{'*' eq $_ ? 1 : 0} @a;
$t = 1;
%h = ("@a" => $t);
for ($t = 2; $t <= 100; $t++) {
@b=($a[1] ? 1 : 0,
(map{
($a[$_-1] xor $a[$_+1]) ? 1 :
(($a[$_-1] and $a[$_+1]) ? ($a[$_]?0:1) : 0)
} 1..$#a-1),
$a[-2] ? 1 : 0
);
push @h, join'',map {$_ ? '*' : '.'} @b;
@a = @b;
$t--, last if exists $h{"@a"};
$h{"@a"} = $t;
}
$i = $h{"@a"};
print $_ - 1, ": $h[$_-1]\n" for $i..@h;
実行結果
~ $ perl 14_716_721.pl
61: *.*.*.*.*.*.*.*
62: .*.*.*.*.*.*.*.
63: *.*.*.*.*.*.*.*
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11=>>575 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11=>>575 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359
>>362 : 367 369 370 371 374 379 380 382 414
>>368 : 390
>>388 : 487 (488) 553 559
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
>>479 :
>>555 : 556 558 564 565
>>557 : 560 562 568 569
>>570 : 574 577
>>573 : 604 622
>>600 : 605 607 611 613 627 691
>>615,626 :
>>632 : 637 640 645 649 650 687 689-690
>>368 : 390
>>388 : 487 (488) 553 559
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
>>479 :
>>555 : 556 558 564 565
>>557 : 560 562 568 569
>>570 : 574 577
>>573 : 604 622
>>600 : 605 607 611 613 627 691
>>615,626 :
>>632 : 637 640 645 649 650 687 689-690
745デフォルトの名無しさん
2019/07/06(土) 19:37:09.81ID:HtNG6e5Z 消えろ
746デフォルトの名無しさん
2019/07/06(土) 21:17:45.94ID:Qorx3cLN ログ汚染が酷い
747695
2019/07/07(日) 08:03:43.59ID:Ts5uCd7M だから、誕生という概念を作ると、説明が難しいから、「生死」の状態だけにした。
生死だけなら、前の状態に関係ない、前の状態と切れているから
誕生という概念を使うと、
a. 前の状態が死んでいる時と、
b. 前の状態が生きている時で、
処理が変わってくるから複雑になって、勘違いする人も出てくるから
生死だけなら、前の状態に関係ない、前の状態と切れているから
誕生という概念を使うと、
a. 前の状態が死んでいる時と、
b. 前の状態が生きている時で、
処理が変わってくるから複雑になって、勘違いする人も出てくるから
748デフォルトの名無しさん
2019/07/07(日) 12:00:48.06ID:K8IqcFVG >>747
その「だから」は何につながってるのか読めない。
その「だから」は何につながってるのか読めない。
749デフォルトの名無しさん
2019/07/07(日) 17:48:05.53ID:Sb2el8tu >>747
状態が関係ないと実装の工夫のしどころが失われて面白みが半減すると思うよ
最初の何ターンかを例として示せば済むはなしだし
手元で実装を試していればなおさら何の苦もないことかと
細かい事を言うと、本当に実装を試さずに出題しているのならそれはルール違反なんだよね
(チューリングの泥沼問題回避や宿題の丸投げ防止)
状態が関係ないと実装の工夫のしどころが失われて面白みが半減すると思うよ
最初の何ターンかを例として示せば済むはなしだし
手元で実装を試していればなおさら何の苦もないことかと
細かい事を言うと、本当に実装を試さずに出題しているのならそれはルール違反なんだよね
(チューリングの泥沼問題回避や宿題の丸投げ防止)
751デフォルトの名無しさん
2019/07/07(日) 19:55:58.86ID:MQV9uu2h たしかにくだらないクソ問ばかりだね。
752蟻人間 ◆T6xkBnTXz7B0
2019/07/07(日) 21:06:25.36ID:JhpdhjN9 お題: 生徒の氏名、身長、体重の3つからなる複数のレコードが与えられる。氏名とBMIを左揃えのテキストの表にせよ。
単位はMKS単位系、テキストはASCIIおよび等幅フォントが使われると仮定してよい。
Tanaka Naoki 15kg 2m
Inoue Ken 280g 32cm
Akai Ryusei 1mg 3km
単位はMKS単位系、テキストはASCIIおよび等幅フォントが使われると仮定してよい。
Tanaka Naoki 15kg 2m
Inoue Ken 280g 32cm
Akai Ryusei 1mg 3km
753蟻人間 ◆T6xkBnTXz7B0
2019/07/07(日) 21:26:21.37ID:JhpdhjN9 お題: MKS単位系の単位を変換する関数またはクラスを作れ。
1kg:g
→1000g
2m:cm
→200cm
1kg:g
→1000g
2m:cm
→200cm
754蟻人間 ◆T6xkBnTXz7B0
2019/07/07(日) 21:28:22.26ID:JhpdhjN9 名前はテキトーに思いついたのを書いただけです。
755デフォルトの名無しさん
2019/07/07(日) 21:28:35.00ID:K8IqcFVG >>753
C++なら、ユーザー定義リテラルで横着できるんだけど、入力解析が嫌な感じだ。
C++なら、ユーザー定義リテラルで横着できるんだけど、入力解析が嫌な感じだ。
756蟻人間 ◆T6xkBnTXz7B0
2019/07/07(日) 21:44:56.12ID:JhpdhjN9 物理シミュレーションが人間の手から離れて自由自在にならなければ、火星への仮想移住もできない。MKS単位系の計算術は重要だ。
757デフォルトの名無しさん
2019/07/07(日) 21:50:29.52ID:ngB3G+2v トリップ付きは大学の教養課程の知識すらない阿呆しかいないのかね
758蟻人間 ◆T6xkBnTXz7B0
2019/07/07(日) 22:23:37.11ID:0lH1eUtN 常識など切り刻むのみ。
759デフォルトの名無しさん
2019/07/07(日) 22:41:27.22ID:+dwSkgWp 死ねや糞コテ
760デフォルトの名無しさん
2019/07/07(日) 23:10:54.31ID:K8IqcFVG761蟻人間 ◆T6xkBnTXz7B0
2019/07/07(日) 23:19:20.77ID:0lH1eUtN 長さの単位、質量の単位、そして時間の単位の3つがある。これにキロ、ミリ、マイクロなどが前に付く。
変換方法は複数あり、何から何への変換方法はデータとして与えられ、それらは追加可能でなければ不便。
変換方法は複数あり、何から何への変換方法はデータとして与えられ、それらは追加可能でなければ不便。
先生!質問です!
重さの規準は kg ですか?それとも g ですか?え?kg?おっかしーなー?kg の kって単なる接頭辞 prefix なのでは?
重さの規準は kg ですか?それとも g ですか?え?kg?おっかしーなー?kg の kって単なる接頭辞 prefix なのでは?
763デフォルトの名無しさん
2019/07/07(日) 23:28:12.83ID:6uzWSrE8 全部Jで統一しろハゲ共
764デフォルトの名無しさん
2019/07/08(月) 00:24:27.94ID:YBWHLZTU 長さ1センチの鼻毛を鉛直方向に1ニュートンの力で引っ張り、抜いたときに感じる痛みは1ハナゲ
>>763
質量は J に等価交換できても長さや時間は無理なのでは?
質量は J に等価交換できても長さや時間は無理なのでは?
766デフォルトの名無しさん
2019/07/08(月) 00:58:34.40ID:ktC9cNPU >>765
natural unitも知らねえのか
natural unitも知らねえのか
767デフォルトの名無しさん
2019/07/08(月) 08:05:28.83ID:ATr0dgzt タブ区切りの文字列の置換リストがあって、そのとおりにテキストファイルファイルを置換したい
そういうソフトありますか?
見つからないので自作しようとおもったけどここへ書いてみた
置換リスト例
ああああ うううう
aaaaa QQQQQ
そういうソフトありますか?
見つからないので自作しようとおもったけどここへ書いてみた
置換リスト例
ああああ うううう
aaaaa QQQQQ
768デフォルトの名無しさん
2019/07/08(月) 08:09:30.46ID:ATr0dgzt コマンドラインでGREPと置換できるソフトはあるんだけど。
DOSの文字制限と、正規表現の制限で、
置換したい文字の設定がややこしい。あと複数同時にできない。
文字を加工せずできれば便利だなと。
DOSの文字制限と、正規表現の制限で、
置換したい文字の設定がややこしい。あと複数同時にできない。
文字を加工せずできれば便利だなと。
769デフォルトの名無しさん
2019/07/08(月) 08:10:59.60ID:cS5GyvAA >>767
スレ違い
スレ違い
770デフォルトの名無しさん
2019/07/08(月) 11:02:56.96ID:tzeJFuHl >>767
Perlでも使えば?文字列置換楽だよ。
Perlでも使えば?文字列置換楽だよ。
771デフォルトの名無しさん
2019/07/08(月) 11:50:01.31ID:8XvlSCIJ >>766
時間や長さを J で統一することは自然単位系でもできませんね…
時間や長さを J で統一することは自然単位系でもできませんね…
>>767
仕様を正確に記述してください
仕様を正確に記述してください
774デフォルトの名無しさん
2019/07/08(月) 19:25:39.25ID:uJPizAN5 宿題に餌を与えないでください
775デフォルトの名無しさん
2019/07/08(月) 22:57:02.15ID:G1DtFXg8 Ruby では変換表を使って、置換できる
hash = { 'ab' => 'あ', 'xy' => 'ん' }
p re = Regexp.union( hash.keys ) #=> /ab|xy/
p "9xy9ab9xyx".gsub( re, hash )
#=> 9ん9あ9んx
gsub(pattern, hash) -> String
文字列中の pattern にマッチした部分をキーにして、hash を引いた値で置き換える
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
hash = { 'ab' => 'あ', 'xy' => 'ん' }
p re = Regexp.union( hash.keys ) #=> /ab|xy/
p "9xy9ab9xyx".gsub( re, hash )
#=> 9ん9あ9んx
gsub(pattern, hash) -> String
文字列中の pattern にマッチした部分をキーにして、hash を引いた値で置き換える
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
776デフォルトの名無しさん
2019/07/09(火) 00:46:29.33ID:b1/VU+FF rubyの宣伝とはいえ、宿題に餌やるなら、問われている事柄に応えてやったらどうかと思う。
宣伝意識が前面に出すぎて目的を忘れるなかれ、って感じ。
宣伝意識が前面に出すぎて目的を忘れるなかれ、って感じ。
777デフォルトの名無しさん
2019/07/09(火) 00:48:43.11ID:b1/VU+FF | \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
778デフォルトの名無しさん
2019/07/09(火) 04:09:17.17ID:0VeokVre [ 弘前大 ]
和が406 で、最小公倍数が2,660 である、2つの整数を求めよ
答え
14 * 10 = 140
14 * 19 = 266
和が406 で、最小公倍数が2,660 である、2つの整数を求めよ
答え
14 * 10 = 140
14 * 19 = 266
779デフォルトの名無しさん
2019/07/09(火) 08:28:09.19ID:chrBBqpb 整数問題は脳死でこう叩く
(loop for x from 1 to 1000 do (loop for y from 1 to 1000 when (and (eq (+ x y) 406) (eq (lcm x y) 2660)) do (format t "~a ~a~%" x y)))
140 266
266 140
(loop for x from 1 to 1000 do (loop for y from 1 to 1000 when (and (eq (+ x y) 406) (eq (lcm x y) 2660)) do (format t "~a ~a~%" x y)))
140 266
266 140
780778
2019/07/09(火) 08:48:05.20ID:0VeokVre 和が406 ですよ
1〜405 を確認すれば十分!
1〜405 を確認すれば十分!
781デフォルトの名無しさん
2019/07/09(火) 08:52:39.17ID:chrBBqpb 大学の入試問題の大半 8割ぐらいは1000までローラーすればいい
だから経験上1000やっちゃうんだよね
最適化してくなら for y from x
とかも効かすけど
3乗算決めるぐらいまでは問題ない速度が出てる(loop x(loop y(loop z
だから経験上1000やっちゃうんだよね
最適化してくなら for y from x
とかも効かすけど
3乗算決めるぐらいまでは問題ない速度が出てる(loop x(loop y(loop z
782デフォルトの名無しさん
2019/07/09(火) 09:28:56.09ID:4nn6D6BQ >>772
完全にアホ
完全にアホ
783デフォルトの名無しさん
2019/07/09(火) 11:02:44.61ID:lxeGachM >>781
和なんだから最適化利かすならyは406からx引けよw
和なんだから最適化利かすならyは406からx引けよw
784デフォルトの名無しさん
2019/07/09(火) 11:18:51.73ID:chrBBqpb >>782
煽るだけではねえ…時間や長さを J に統一するために自然単位系がどう使えるのか書けるのですか?
煽るだけではねえ…時間や長さを J に統一するために自然単位系がどう使えるのか書けるのですか?
786デフォルトの名無しさん
2019/07/09(火) 19:43:25.84ID:ggPtzp0W 壮大な話やなぁ。
その時間系に所属する人の仕事量を全部計算するんかいな??
アホだからこんなこと思うわ。
その時間系に所属する人の仕事量を全部計算するんかいな??
アホだからこんなこと思うわ。
787デフォルトの名無しさん
2019/07/09(火) 21:57:24.41ID:gdYXIa6p 私は頭は良いのだが知識がないため君らが何を言っているのかがよくわからない。
788778
2019/07/12(金) 14:53:22.97ID:uwyqXnfJ >>778
Ruby で、
require 'prime'
sum = 406 # 和
lcm = 2_660 # 最小公倍数。least common multiple
# 最大公約数。greatest common divisor
gcd = sum.gcd( lcm ) # 14
# 最大公約数で割ったもの
sum_2 = sum / gcd # 29
lcm_2 = lcm / gcd # 190
# 半分(1〜15)まで、ループする。ary は、10
ary = ( 1..( sum_2 + 1 ) / 2 ).each.select {
|num| num * ( sum_2 - num ) == lcm_2 }
# 14 * 10 = 140, 14 * 19 = 266
p gcd * ary.first, gcd * ( sum_2 - ary.first )
Ruby で、
require 'prime'
sum = 406 # 和
lcm = 2_660 # 最小公倍数。least common multiple
# 最大公約数。greatest common divisor
gcd = sum.gcd( lcm ) # 14
# 最大公約数で割ったもの
sum_2 = sum / gcd # 29
lcm_2 = lcm / gcd # 190
# 半分(1〜15)まで、ループする。ary は、10
ary = ( 1..( sum_2 + 1 ) / 2 ).each.select {
|num| num * ( sum_2 - num ) == lcm_2 }
# 14 * 10 = 140, 14 * 19 = 266
p gcd * ary.first, gcd * ( sum_2 - ary.first )
789デフォルトの名無しさん
2019/07/12(金) 17:09:23.04ID:uwyqXnfJ お題、聖光学院中学校入試問題
1〜10 の10枚のカードの内、4枚を取り出して、a〜d に入れて、
下の式を満たす置き方は、何通りあるか?
( a + b ) * ( c + d ) = 100
答え、48通り
1〜10 の10枚のカードの内、4枚を取り出して、a〜d に入れて、
下の式を満たす置き方は、何通りあるか?
( a + b ) * ( c + d ) = 100
答え、48通り
790デフォルトの名無しさん
2019/07/12(金) 17:26:31.50ID:B1Jsh2gD791デフォルトの名無しさん
2019/07/12(金) 17:31:38.31ID:B1Jsh2gD やってから気づいたけど、forで回したほうが早いな。
それと、ネクストコンビネーションがほしいのじゃー。
それと、ネクストコンビネーションがほしいのじゃー。
792デフォルトの名無しさん
2019/07/12(金) 17:38:32.51ID:N+Dr1mVf >>778
sum := 406, lcm := 2660
c := gcd(sum, lcm)
(c * t_-, c * t_+) = (140, 266) where t_± = (sum ± √(sum^2 -4c * lcm)) / 2c = (29 ± 9) / 2
sum := 406, lcm := 2660
c := gcd(sum, lcm)
(c * t_-, c * t_+) = (140, 266) where t_± = (sum ± √(sum^2 -4c * lcm)) / 2c = (29 ± 9) / 2
793デフォルトの名無しさん
2019/07/12(金) 17:45:09.77ID:N+Dr1mVf794デフォルトの名無しさん
2019/07/12(金) 17:56:38.95ID:B1Jsh2gD795デフォルトの名無しさん
2019/07/12(金) 19:41:17.85ID:Rp3XUaKp >>793
なるほど
なるほど
796デフォルトの名無しさん
2019/07/12(金) 20:06:13.56ID:OtxPhCkg >>789
4P4 = 12 がなかったので暗算埋め込みしてしまった
(loop with i = 0 for a from 1 to 10 do (loop for b from (1+ a) to 10 do (loop for c from (1+ b) to 10 do (loop for d from (1+ c) to 10 when (eq 100 (+ (* a b) (* c d))) do (incf i)))) finally (print (* 12 i)))
48
4P4 = 12 がなかったので暗算埋め込みしてしまった
(loop with i = 0 for a from 1 to 10 do (loop for b from (1+ a) to 10 do (loop for c from (1+ b) to 10 do (loop for d from (1+ c) to 10 when (eq 100 (+ (* a b) (* c d))) do (incf i)))) finally (print (* 12 i)))
48
797デフォルトの名無しさん
2019/07/13(土) 02:35:29.76ID:P33eZqk8 >>9 : 15 34 35 79
>>11=>>575 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359
>>11=>>575 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259 342 353
>>320 : 321 323 327 330 340
>>322 : 325 328 329 331 332 339 341 358 359
>>362 : 367 369 370 371 374 379 380 382 414
>>368 : 390
>>388 : 487 (488) 553 559
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
>>479 :
>>555 : 556 558 564 565
>>557 : 560 562 568 569
>>570 : 574 577
>>573 : 604 622
>>600 : 605 607 611 613 627 691
>>615,626 :
>>632 : 637 640 645 649 650 687 689-690
>>368 : 390
>>388 : 487 (488) 553 559
>>400 : 401
>>408 :
>>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 528 530 540
>>479 :
>>555 : 556 558 564 565
>>557 : 560 562 568 569
>>570 : 574 577
>>573 : 604 622
>>600 : 605 607 611 613 627 691
>>615,626 :
>>632 : 637 640 645 649 650 687 689-690
801デフォルトの名無しさん
2019/07/13(土) 17:08:18.94ID:006l8Xk5 まただよ(笑)
802デフォルトの名無しさん
2019/07/13(土) 18:59:07.37ID:/5VqfFnz 回答は容易に手繰れるのではっきり言って無用だし迷惑です
どうしてもまとめたいなら
例えば、どんな言語でどのお題に回答しているか整理したものとか付加価値を付けるべきでしょう
どうしてもまとめたいなら
例えば、どんな言語でどのお題に回答しているか整理したものとか付加価値を付けるべきでしょう
>>802
ご意見ありがとうございます、参考にいたします
ご意見ありがとうございます、参考にいたします
804デフォルトの名無しさん
2019/07/13(土) 20:04:23.90ID:azuEfQ5t >>803
前に何度も不要だ、邪魔だと指摘されたはずだが一向に改めなかったのはなぜ?
前に何度も不要だ、邪魔だと指摘されたはずだが一向に改めなかったのはなぜ?
805デフォルトの名無しさん
2019/07/13(土) 22:03:31.87ID:+XrRzYc0 コテハンだからだろ
806デフォルトの名無しさん
2019/07/13(土) 22:53:32.95ID:0DH1k/wL 本当にクズだよな。出す問題もゴミばかり。まるで使用済みティッシュ
807デフォルトの名無しさん
2019/07/14(日) 08:46:45.28ID:7ouziBbN お題
ミニミニなパスカルの三角形を表示する
1
11
121
1331
14641
ミニミニなパスカルの三角形を表示する
1
11
121
1331
14641
808デフォルトの名無しさん
2019/07/14(日) 08:56:51.66ID:hrWXJ2sa 11^0
11^1
11^2
11^3
11^1
11^2
11^3
809デフォルトの名無しさん
2019/07/14(日) 10:31:51.37ID:I+Q1ZQVX >>807 Ruby
pascal = -> n {n > 0 ? [0, *pascal(n-1), 0].each_cons(2).map(&:sum) : [1]}
(0..9).map{|i| puts pascal[i].join(?\ )} # =>
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
pascal = -> n {n > 0 ? [0, *pascal(n-1), 0].each_cons(2).map(&:sum) : [1]}
(0..9).map{|i| puts pascal[i].join(?\ )} # =>
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
810デフォルトの名無しさん
2019/07/14(日) 10:33:20.18ID:I+Q1ZQVX typo
pascal = -> n {n > 0 ? [0, *pascal[n - 1], 0].each_cons(2).map(&:sum) : [1]}
pascal = -> n {n > 0 ? [0, *pascal[n - 1], 0].each_cons(2).map(&:sum) : [1]}
811デフォルトの名無しさん
2019/07/14(日) 22:14:12.29ID:xwqPe1DN >>807 Perl5
for (1..5) {
@a = (1, map{$a[$_] + $a[$_+1]} 0..$#a);
print @a,"\n";
}
実行結果
$ perl 14_807.pl
1
11
121
1331
14641
for (1..5) {
@a = (1, map{$a[$_] + $a[$_+1]} 0..$#a);
print @a,"\n";
}
実行結果
$ perl 14_807.pl
1
11
121
1331
14641
812デフォルトの名無しさん
2019/07/14(日) 22:28:38.27ID:niuQOGKU >>807 python3
#!/usr/bin/python3
fractal_width = 19
xs = [1]
for i in range(1, fractal_width +1):
for x in xs:
print(x, "", end="") #xs sequence
print("")
xs.insert(0, 0)
xs.append(0)
xs = [ (xs[i] + xs[i +1]) for i in range(len(xs) -1)]
#!/usr/bin/python3
fractal_width = 19
xs = [1]
for i in range(1, fractal_width +1):
for x in xs:
print(x, "", end="") #xs sequence
print("")
xs.insert(0, 0)
xs.append(0)
xs = [ (xs[i] + xs[i +1]) for i in range(len(xs) -1)]
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】日本代表MF 中村敬斗 ボリビア戦のスーパーゴールに「惚れるわ」「痺れる程のゴールこれでご飯何杯いけるのよ」 [阿弥陀ヶ峰★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
- 結婚しないやつは異性は嫌いなの?
