[過去ログ] プログラミングのお題スレ 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*