Perl Quiz / Puzzle part2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/02(水) 19:11ID:fIfpzIl.・http://www.hyuki.com/pq/ でやっているやつと同じようなもんだと思ってくれ。
旧スレ http://tako.2ch.net/test/read.cgi?bbs=perl&key=984944254
出題者へ
・学校の課題を書くのは禁止。
・できれば自分の答を用意すること。
・一段落したら出題者は必ずサマリー(まとめ)を書くこと。
0002名無しさん@お腹いっぱい。
2001/05/02(水) 19:15ID:???ま、それは兎も角どうせならPHPとかも可にして欲しかった。
00031
2001/05/02(水) 19:20ID:???PHPの回答も大歓迎だよー。どんどん参加してくれー。
00041=旧スレの37
2001/05/02(水) 19:30ID:???1. タブ文字を展開して空白にする関数を作れ。タブ幅は8とする。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=984944254&st=3
(サマリーなし)
2. 有名な15パズルですね。これを最短で解く手順を出力してください。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=984944254&st=20
(サマリーなし)
3. 現在の年月日から数えて最も近い「13日の金曜日」を求めるスクリプトを書け。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=984944254&st=29
(サマリーなし)
4. キリ番撲滅カウンタを作れ
http://tako.2ch.net/test/read.cgi?bbs=perl&key=984944254&st=37
(サマリー作成中です)
0005前スレ39
2001/05/03(木) 12:01ID:JPrRLY3oor $count > 100 and index("0987654321", $count)>=0 #くだり賞
ではカウンタは普通先頭に0が来ないし 3210 などにも対応させるために
or $count > 100 and index("9876543210", $count)>=0 #くだり賞
にしたほうがいいかと思われ。
しかし index は普段使わなかっただけに
こういう便利な使い方があるんかと素直に感心した。
0006前48
2001/05/03(木) 20:41ID:.kTr8MpA>or $count > 100 and index("9876543210", $count)>=0 #くだり賞
>にしたほうがいいかと思われ。
あ、そっか。
何も考えずにのぼり賞の逆にしただけだったからなぁ。
>こういう便利な使い方があるんかと素直に感心した。
これ思いついたので解答してみる気になったという...
実用スクリプトで役に立ちそうな場面はちょっと思いつかないけど。
つけたし:
前スレ48のぞろ目の正規表現、
or $count =~/^(\d+)\1+$/
に変更したら、「121212」とか「123123」とかも弾ける。
0007むぎ茶
2001/05/04(金) 06:26ID:???結論
カウンター外せ(n
┐(´ー`)┌
┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶 ┃
┃mugicha@360.cc ┃
┗━━━━━━━━━┛
むぎちゃんねる
http://aho0baka.virtualave.net/bbs/bbs.cgi
メイリングリスト
http://www.freeml.com/ml_info.php?ml=bitvalley
0008ほえほえ ◆NRhOuzXM
2001/08/10(金) 07:38ID:???00099
01/09/02 19:21ID:ixHN2n4k1,2,3,4,5,6,7,8,9(数字の並びは固定)がある。
これらの数の間に+、−、何も入れないという演算子をいれて、計算
する。そして、計算結果が100になる組み合わせを、すべて表示する
プログラムを作成せよ。100になるのは、11通りのはず。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998808627
からのパクリだけど、Perlでやったらどうなる?
ちなみに俺の考えた解はこれ。
corn.2ch.net/test/read.cgi?bbs=php&key=988718702&st=35&to=35&nofirst=true
0010名無しさん@お腹いっぱい。
01/09/03 11:59ID:IRPrrZiA0011_gunzip
01/09/04 05:46ID:E8XEZJvU---------------------------
ハッシュ(の文字列表現)利用。
foreach my $i (grep{!($_ % 3)} 0..3**9){
@h{1..9} = map{('','-','+')[($i /= 3) % 3]} 1..8;
print %h,"\n" if eval join("",%h) == 100;
}
---------------------------
単純な再帰で虱潰し。
sub r{
my($str, $num) = @_;
for my $op ('', '-', '+'){
my $exp = join($op, $str, $num);
$num != 9 ? r($exp, $num + 1)
: eval($exp) == 100 ? print "$exp\n" :next;
}
}
r("1", 2);
0012名無しさん@お腹いっぱい。
02/01/03 12:45ID:1F/Y4C+i0013nobodyさん
02/10/10 05:41ID:???0014nobodyさん
02/10/15 06:10ID:???■ このスレッドは過去ログ倉庫に格納されています