プログラミングのお題スレ Part22 (854レス)
上下前次1-新
抽出解除 レス栞
265: デフォルトの名無しさん [sage] 2024/02/20(火) 22:00:55.76 ID:e+y9lgSN(1) AAS
>>249 と >>238238(1): デフォルトの名無しさん [sage] 2024/02/15(木) 21:30:35.17 ID:MveN6p4/(1) AAS
>>234
Rust
fn foo(n: usize) -> (usize, Option<usize>) {
let n2b = |n: usize| { let mut o = Some(n); iter::from_fn(|| { let n = o.take()?; o = (n >= 10).then(|| n / 10); Some((n % 10) as i8) }).collect::<Vec<i8>>() };
let b2n = |b: &[i8]| b.iter().rev().fold(0_usize, |n, b| n * 10 + *b as usize);
let pal = |b: &mut [i8]| { let len = b.len() / 2; let (l, u) = b.split_at_mut(len); iter::zip(l, u.iter().rev()).for_each(|(l, u)| *l = *u); };
let inc = |b: &mut [i8]| { let len = b.len() / 2; let mut c = 1; b[len..].iter_mut().for_each(|b| { *b += c; if *b > 9 { *b = 0; c = 1; } else { c = 0; }}); };
let dec = |b: &mut [i8]| { let len = b.len() / 2; let mut c = 1; b[len..].iter_mut().for_each(|b| { *b -= c; if *b < 0 { *b = 9; c = 1; } else { c = 0; }}); };
let fix = |b: &mut [i8]| { if b.last() == Some(&0) { if b.len() & 1 == 0 { b[(b.len() - 1) / 2] = 9; } true } else { false } };
let mut b = n2b(n);
pal(&mut b);
let n1 = b2n(&b);
match n.cmp(&n1) {
Ordering::Equal => return (n, None),
Ordering::Greater => inc(&mut b),
Ordering::Less => dec(&mut b),
}
if fix(&mut b) { b.pop(); }
pal(&mut b);
let n2 = b2n(&b);
match n.abs_diff(n1).cmp(&n.abs_diff(n2)) {
Ordering::Less => (n1, None),
Ordering::Greater => (n2, None),
Ordering::Equal => (n1, Some(n2)),
}
}
は
しらみ潰しではなく
きちんとプログラミングして算出しているようにみえますね
320: 17 [] 2024/04/13(土) 16:57:10.76 ID:SxW/5mRR(1) AAS
>>319外部リンク:paiza.io
Wikipedia でヘロンの公式を調べてそのまま実装しただけで、ほとんど何も考えてない。
380: デフォルトの名無しさん [sage] 2024/07/27(土) 06:15:03.76 ID:QMQQaL7S(2/2) AAS
KSBiPSN7Yn0iCiAgICBlbmQKICBlbmQKICBkZWYgYl90b19hCiAgICBuPXNl
bGYKICAgIGlmIG48MTAKICAgICAgYz0wLjEyNQogICAgICBAQGMuZWFjaHt8
ZXwgYz1lIGlmIGUvbjw9MS4wfQogICAgICBhPUBAYVtAQGMuaW5kZXgoYyld
CiAgICAgIGI9QEBiW0BAYy5pbmRleChjKV0KICAgICAgcmV0dXJuICIoYj0j
e2J9PSN7Y30pIGE9I3thfSIKICAgIGVsc2UKICAgICAgYj1uLnRvX2kKICAg
ICAgYT1iKjI1CiAgICAgIHJldHVybiAiKGI9I3tifSkgYT0je2F9IgogICAg
ZW5kCiAgZW5kCmVuZAoKd2hpbGUgMQogIGFyPVsi77yh5ZG856ew44GL44KJ
77yi5ZG856ewIiwi77yi5ZG856ew44GL44KJ77yh5ZG856ewIiwi57WC5LqG
Il0KICBtc2c9YXIubWFwLndpdGhfaW5kZXh7fGUsaXwiI3tpKzF9OiN7ZX0i
fS5qb2luKCJcbiIpKyJcbiIKICBwcmludCBtc2crImlucHV0IG51bWJlciA+
ICIKICBuPSRzdGRpbi5nZXRzLnRvX2kKICBicmVhayBpZiBuPT0zCiAgbmV4
dCBpZiBuPT0wCiAgd2hpbGUgMQogICAgcHJpbnQgIiN7YXJbbi0xXX06aW5w
dXQgdmFsdWUgPiAiCiAgICBtPSRzdGRpbi5nZXRzLmNob21wCiAgICBicmVh
ayBpZiBtPT0iIgogICAgbT1tLnRvX2ZsCiAgICBwdXRzIG0uYV90b19iIGlm
IG49PTEKICAgIHB1dHMgbS5iX3RvX2EgaWYgbj09MgogIGVuZAplbmQK
EOS
File.write("tmp.rb",Base64.decode64(st))
__END__
:end
667: デフォルトの名無しさん [] 2025/03/01(土) 23:41:19.76 ID:+HRoh0yF(1) AAS
まあ数列の問題ならOEISを見てみるよな
757: デフォルトの名無しさん [sage] 2025/04/13(日) 23:46:14.76 ID:bmEZDV0H(1) AAS
>>756遅い原因は長さ2000万のベクタ利用?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s