[過去ログ] プログラミングのお題スレ Part20 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
96(32): 96 2021/07/28(水)13:12 ID:D9Z9/eJz(1) AAS
>>20 Perl5、DPで解けないかなと考えてたけど、すぐには思いつかずnaiveな解法
use List::Util 'max';
my $m;
sub f {
my ($a, $b, $c) = @_;
return () if $m and $m <= $c;
my $aa = $a * $c - $b;
return ($m = $c) if 0 == $aa;
my @s;
if (0 < $aa) {
省18
108: 96 2021/08/13(金)12:16 ID:Tqy/ucLn(1) AAS
>>103 Perl5
@b = reverse @a = split'', 'abcde';
use List::MoreUtils 'zip';
print zip @a, @b;
実行結果
~ $ perl 20_103.pl
aebdccdbea
116: 96 2021/08/17(火)22:38 ID:BrZ+lWok(1) AAS
>>114 Perl5
$it="うっふ〜ん";
print<<EOF;
「中止の考えはない。強い警戒感を持って${it}に臨む」
「バブル方式で${it}する。感染拡大の恐れはないと認識している」
「コロナに打ち勝った証として${it}する」
「${it}を中止することは一番簡単なこと、楽なことだ。${it}に挑戦するのが国民の役割だ」
「安心安全な${it}に向けて全力で取り組む」
「不要不急かどうかは本人が判断すべきだ」
EOF
省8
127(1): 96 2021/09/06(月)12:09 ID:GTV7C5SZ(1) AAS
>>122 Perl5
use HTML::TreeBuilder;
@s = split',','東京,特許,許可局';
@a = map{['li', {class => 'pankuzu_item'}, $_]} @s;
$a[-1][1]{class} .= ' active';
$h = HTML::Element->new_from_lol(['ul', {class => 'pankuzu'}, @a]);
print $h->as_HTML('<>&', ' ', {});
実行結果
~ $ perl 20_122_pankuzu_list.pl
<ul class="pankuzu">
省4
128: 96 2021/09/06(月)13:04 ID:moEus4wD(1) AAS
>>127
use HTML::TreeBuilder;
だと色々引き連れて来るので、使う
use HTML::Element;
をuseすれば良かったんだけど、結果は同じだしまいいや…
140: 96 2021/09/10(金)22:13 ID:UuNKa3lP(1) AAS
>>132 Perl5
s/ESC(ESC|cr|lf)/\U$1/g;
実行結果
外部リンク:ideone.com
191(3): 96 2021/09/25(土)22:19 ID:qK5TmKac(1) AAS
>>186 Perl5
use feature qw{signatures say};
no warnings 'experimental';
sub s($a, $b, @a) { @a ? $a + &d($b, @a) : $a + $b }
sub d($a, $b, @a) { @a ? $a / &s($b, @a) : $a / $b }
say &s(/(\d+)/g) for <DATA>;
__DATA__
1,2,3,4,5,6,7
1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
2,1,1,1,2,1,1,1,1,1,4,1,1,1,1,1,6,1,1,1,1,1
省7
195: 96 2021/09/26(日)11:06 ID:ROfWiNc+(1) AAS
>>186 Perl5、>>191だと分母が大きい値になるテストケースで下の桁が例解と違ってくるので、通分を下から再帰的に行って
最後に割り算するようにした。また数値の個数が偶数だった場合には0を補うようにした
use feature qw{signatures say}; no warnings 'experimental';
sub f($a, $b, $c = 0, @r) {
if (@r) {
($c, $e) = f($c, @r);
$b *= $e;
}
($a * $c + $b), $c;
}
省14
400: 96 2021/11/08(月)17:48 ID:+3VBQOCX(1) AAS
>>378
これか…
外部リンク:math.jp
プログラム化する以前に、解法を理解・考えることが難しいお題だな
415: 96 2021/11/09(火)03:16 ID:Fkau/hlA(1) AAS
OpenMPやithreadじゃだめなのかよ
430(1): 96 2021/11/11(木)23:57 ID:JHz34AMz(1) AAS
>>425 Perl5、たまにはお相手して進ぜよう。5chの仕様に従うと↓こうだと思うが…
$uri = '外部リンク:www.google.com
use URI::Split qw(uri_split uri_join);
@a = uri_split($uri);
$a[1] = 'jump.5ch.net';
$a[2] = '/';
$a[3] = $uri;
print uri_join(@a), "\n";
442(1): 96 2021/12/02(木)04:03 ID:EE6BdDDo(1) AAS
元のソースをローカルに保存しておかなかったのか
445: 96 2021/12/02(木)21:30 ID:m0u4nXXp(1) AAS
いま
外部リンク:codepad.org
復活してない?
サンプルURLとして前々スレの過去の回答
プログラミングのお題スレ Part18
2chスレ:tech
>174 名前:デフォルトの名無しさん[] 投稿日:2020/08/04(火) 19:24:17.96 ID:lImhU2CT
> >>173
> あーアホだったw
> タブ消去の仕様だとPythonだと分けわからんことになるなw
省6
624: 96 2022/08/02(火)01:11 ID:6KqVNIq0(1/2) AAS
>>615 Perl5
use feature qw{say signatures}; no warnings 'experimental';
sub f($i, @a) { $i and @a ? (f(@a), $i) : $i }
@a = split'',123;
say @a, f(@a);
実行結果
~ $ perl 20_615_mirror.pl
123321
625: 96 2022/08/02(火)01:20 ID:6KqVNIq0(2/2) AAS
>>615 Perl5 (リスト処理版)
@a = split '', 123;
print @a, map{@a[$#a - $_]} 0..$#a;
実行結果
~ $ perl 20_615_mirror_list.pl
123321
632(1): 96 2022/08/05(金)19:36 ID:Rv34IsoP(1/2) AAS
>>630 Perl5が使える環境であれば…
~ $ cat 20_630_isort.pl
chomp (@a = <>);
sub f {join '', reverse split'', $_[0]}
print "$_\n" for sort{f($a) cmp f($b)} @a;
~ $ cat input.txt
aaaaCB
bbbBA
cccccDB
~ $ perl 20_630_isort.pl < input.txt > output.txt
省4
634: 96 2022/08/05(金)22:43 ID:Rv34IsoP(2/2) AAS
>>632
しまった、これだとsortの計算量 N・log N に応じた回数、比較のための文字列逆転 sub f の呼出しが起き、
データの行数が多いと遅いな
635(1): 96 2022/08/06(土)00:54 ID:pYJx8bVL(1/3) AAS
>>630 Perl5、計算量の抑制に配慮したバージョンと実行例
$ cat 20_630_isort2.pl
print $_->[0] for sort{$a->[1] cmp $b->[1]} map{[$_, scalar reverse $_]} <>;
$ cat input.txt
aaaaCB
bbbBA
cccccDB
$ perl 20_630_isort2.pl input.txt > output.txt
$ cat output.txt
bbbBA
省2
636: 96 2022/08/06(土)01:06 ID:pYJx8bVL(2/3) AAS
>>635
これ各行の行末の改行まで含めてreverseしてsortキーとするので、
もし入力ファイルの最後の行に改行が欠けていて無かったらsort結果がおかしくなる。
そのような万が一の場合に対してもrubstさも持たすならこうか
chomp(@a = <>);
print "$$_[0]\n" for sort{$$a[1] cmp $$b[1]} map{[$_, scalar reverse]} @a;
639: 96 2022/08/06(土)08:20 ID:pYJx8bVL(3/3) AAS
>>610 Perl5
use Bit::Vector;
$v = Bit::Vector->new(101);
for (<DATA>) {
($h, $s, $e) = /0x(\S+) (\S+) (\S+)/;
$v->from_Hex("$h");
$v->Interval_Reverse($e, $s);
($r) = $v->to_Hex() =~ /0+(\w+)/;
print "$_ => 0x$r\n";
}
省13
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.184s*