プログラミングのお題スレ Part22 (858レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
16
(2): デフォルトの名無しさん [sage] 2023/08/09(水) 12:27:32.68 ID:ZMLVZrF/(1) AAS
無駄に比較回数が増えるsortを使っている>>13
13(2): デフォルトの名無しさん [sage] 2023/08/07(月) 20:51:54.50 ID:ZWV0+Q1Z(1) AAS
>>3
Haskell
外部リンク:ideone.com
>>14
14(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
>>156
156(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
>>187
187(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
>>510
510(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
>>714
714(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
741(4): デフォルトの名無しさん [] 2025/04/09(水) 22:22:33.83 ID:Ip5PiQSs(1/3) AAS
>>738-739
出題時に作成した解答例

C++
外部リンク:ideone.com
R
外部リンク:ideone.com

と解の個数と最小値・最大値が一致するので正解だろう。

ローカルでコンパイルしようとしたら、

 error[E0425]: cannot find function `generate_primes` in this scope

と表示されコンパイルできなかったので、実行時間の比較はできなかった。
のC++を解の標準出力なしに変更したものの実行速度を比較したら、
前者の方が2000万以下では27%、20億以下では11%速かった。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.043s