プログラミングのお題スレ Part22 (857レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
271: デフォルトの名無しさん [sage] 2024/02/22(木) 01:30:35.61 ID:9s07Ijs0(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
Rust
fn nearest_palindrome_numbers(n: usize) -> Vec<usize> {
let mut dd = DecimalDigits::new(n);
dd.palindrome_using_upper_half();
let n1 = dd.to_number();
match compare(n, n1) {
Equal => return vec![n],
Greater => dd.increment_upper_half(),
Less => dd.decrement_upper_half(),
}
if dd.is_most_upper_zero() {
return vec![n - 1, n + 1];
}
dd.palindrome_using_upper_half();
let n2 = dd.to_number();
match compare_absolute_diff((n, n1), (n, n2)) {
Less => return vec![n1],
Greater => return vec![n2],
Equal => return if n1 < n2 { vec![n1, n2] } else { vec![n2, n1] },
}
}
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s