プログラミングのお題スレ Part22 (858レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
16(2): デフォルトの名無しさん [sage] 2023/08/09(水) 12:27:32.68 ID:ZMLVZrF/(1) AAS
無駄に比較回数が増えるsortを使っている>>13と>>1414(1): デフォルトの名無しさん [] 2023/08/08(火) 16:30:48.37 ID:mHXT/QMM(1) AAS
>>10 2行目はもっと簡潔に書ける
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
↓
my %h = map{lc $_ => 1} /([A-Za-z])/g;
結局、これでよい筈
for (<DATA>) {
my %h = map{lc $_ => 1} /([A-Za-z])/g;
push @a, $_ if 26 == keys %h;
}
@s = sort{length $a <=> length $b} @a;
print $s[0];
__DATA__
… (ry
は不正解
単純にminが正解
36: デフォルトの名無しさん [sage] 2023/08/11(金) 17:41:01.68 ID:Nevl7mZs(1) AAS
Haskell版で問題にされてるのは
遅延評価でO(n)となるhead $ sort部分ではなく
O(nlog(n))のsortが別途あること
157(1): デフォルトの名無しさん [] 2023/11/25(土) 22:17:37.68 ID:Al0Rw+0l(1) AAS
>>156156(10): デフォルトの名無しさん [sage] 2023/11/25(土) 20:07:06.40 ID:zpqT0hBE(1) AAS
お題:ランダムに1から9999までの整数を得た時、何回で全種類出揃うか確認せよ
擬似乱数列生成法については指定しないものとする
ruby
外部リンク:ideone.com
require 'set'
r = 1..9999
c = r.to_a.fill(0)
s = r.to_set
while !s.empty?
n = rand(r)
c[n - r.first] += 1
s.delete n
end
p c.sum
↓
84736
R
外部リンク:ideone.com
162(1): デフォルトの名無しさん [] 2023/11/26(日) 13:43:11.68 ID:4uIV+oN2(1) AAS
>>156 lisp
外部リンク:ideone.com
188(1): 9 [sage] 2024/01/16(火) 02:37:52.68 ID:SfyAs2IF(1/2) AAS
>>187187(17): デフォルトの名無しさん [] 2024/01/16(火) 00:33:05.98 ID:n8j0XaXx(1) AAS
お題:時刻の文字列が与えられる。その時刻から1秒後の時刻を出力せよ。
例
入力:00:00:00
出力:00:00:01
入力:23:59:59
出力:00:00:00
Perl5
use Time::Piece;
use Time::Seconds;
for (qw{00:00:00 23:59:59}) {
$t = Time::Piece->strptime($_, '%T') + 1;
print "入力:$_\n出力:", $t->strftime('%T'), "\n";
}
※見易くするためインデントを全角スペースに置換してあります
実行結果
~ $ perl 22_187_1秒後.pl
入力:00:00:00
出力:00:00:01
入力:23:59:59
出力:00:00:00
567: デフォルトの名無しさん [sage] 2025/02/11(火) 17:43:14.68 ID:7RexIvi8(1/3) AAS
>>510510(21): デフォルトの名無しさん [] 2025/01/30(木) 21:27:24.39 ID:te1+SH0T(1) AAS
お題
ソース文字列と検索文字列が入力されます
検索文字列の文字をすべて含むソース文字列の部分文字列のうち
一番短い部分文字列を出力してください
DHBICEJAFG EIC → ICE
FDGJHCBIEA EIC → CBIE
FBHDCIJGEA EIC → CIJGE
JDIBGHCEAF EIC → IBGHCE
JBCIAGDHEF EIC → CIAGDHE
EJFBCAGIHD EIC → EJFBCAGI
IADCGJFBEH EIC → IADCGJFBE
IDFHBJGAEC EIC → IDFHBJGAEC
lisp
外部リンク:ideone.com
584: デフォルトの名無しさん [age] 2025/02/12(水) 00:18:10.68 ID:hk2aQo3G(2/3) AAS
好きにしたら良いんやで吉田松陰もそんなこと言ってた気がする
704(1): デフォルトの名無しさん [] 2025/03/25(火) 16:11:02.68 ID:Yc/egiP0(2/3) AAS
そこまでは興味ないや
「数倍」だったのはもしかして最適化オプション付けてなかったんじゃない?ってだけの話
715: デフォルトの名無しさん [] 2025/03/28(金) 22:28:49.68 ID:VDfNaTNz(2/3) AAS
>>714714(4): デフォルトの名無しさん [] 2025/03/28(金) 22:12:15.09 ID:g08AymBh(1) AAS
お題
AさんがBさんに惚れてることを
A-B
と表します
両思いのペアを出力してください
入力
D-L,U-X,U-Y,U-R,Z-B,B-E,B-M,B-N,V-H,V-X,W-F,W-R,R-B,R-W,O-W,O-S,F-A,Q-X,P-E,P-L,X-X,Y-M,Y-C,L-U,L-V,I-X,E-B,H-M,A-S
出力
B,E
R,W
PowerShell
$s = "D-L,U-X,U-Y,U-R,Z-B,B-E,B-M,B-N,V-H,V-X,W-F,W-R,R-B,R-W,O-W,O-S,F-A,Q-X,P-E,P-L,X-X,Y-M,Y-C,L-U,L-V,I-X,E-B,H-M,A-S"
$h = @{}
$s -split "," |% {
$a, $b = $_ -split "-"
$h[$a] += , $b
}
foreach ($a in $h.keys) {
foreach ($b in $h[$a]) {
if ($a -lt $b -and $h[$b] -contains $a) {"$a,$b"}
}
}
-- 実行結果 --
B,E
R,W
718(5): デフォルトの名無しさん [sage] 2025/03/30(日) 01:28:45.68 ID:KrBJAiIU(1) AAS
お題:1〜10までの範囲の乱数生成をn回行ったとき出た値の積が20の倍数になる確率Pnを出力せよ
n=2
2, 10 ... 20
4, 5 ... 20
Pn=???
n=3
2, 5, 2 ... 20
4, 5, 2 ... 40
Pn=???
743(1): デフォルトの名無しさん [] 2025/04/09(水) 23:40:58.68 ID:Ip5PiQSs(2/3) AAS
>>738-739 742と>>741のC++を解の標準出力なしに変更したものの実行速度を比較したら、
前者の方が2000万以下では27%、20億以下では11%速かった。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.043s