プログラミングのお題スレ Part22 (860レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
245(2): 17 [] 2024/02/16(金) 23:58:17.22 ID:C4FuIAno(1) AAS
>>234234(27): デフォルトの名無しさん [sage] 2024/02/14(水) 09:32:06.19 ID:JjlrBdlD(1) AAS
お題:数値が入力されるのでその数値に最も近い回分数を出力せよ
回分数とは回分になっている数(負数含まず)のことである
最も近い回分数が2つある場合は2つとも出力せよ
入力 0
出力 0
入力 17
出力 22
入力 100
出力 99
出力 101
Kotlin
何か画期的なアルゴリズムを使ったわけではなく、むしろほとんど何も考えずただ作られただけのプログラム。
外部リンク:paiza.io
254(2): デフォルトの名無しさん [sage] 2024/02/18(日) 18:14:51.62 ID:puttXdr1(2/4) AAS
>>243243(1): 9 [sage] 2024/02/16(金) 14:47:55.29 ID:TIAwaOOw(1) AAS
>>234 Perl5、小さい方の検索は0で止まるので負の値を避ける必要はなかった、書き直し。
$r = qr/^((\d)(?1)\2|\d?)$/;
for $n (0,17,100,123459321) {
my %a;
for (0..$n) {
$a{$n - $_} = 1 if ($n - $_) =~ $r;
$a{$n + $_} = 1 if ($n + $_) =~ $r;
last if @a = keys %a;
}
print "$n -> @a\n";
}
しらみ潰しで失格
>>244しらみ潰しで失格
>>245
しらみ潰しで失格
276(1): 17 [] 2024/02/23(金) 18:10:28.85 ID:ZR6D6MGM(1/2) AAS
>>262262(2): デフォルトの名無しさん [sage] 2024/02/20(火) 12:59:46.62 ID:qzcGLGiS(1) AAS
しらみ潰しとは例えば1から順番に見つかるまで全てを試していく最悪な方法を指す
今回の場合だと与えた数から順番に見つかるまで±1を続けて全てを試していって探すプログラムが該当する
>>245のKotlinのプログラムは何も考えてなくて本当に馬鹿正直に±1して一つ一つ検査する方式で作ったんだけど、それでもあなたのテストではダメということになったの?
まあ Int (符号付32bit整数) 使ってるからその限界超えたらダメではあるんだけど、そういう問題ではなく?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s