プログラミングのお題スレ Part22 (860レス)
プログラミングのお題スレ Part22 http://mevius.5ch.net/test/read.cgi/tech/1691038333/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
696: デフォルトの名無しさん [sage] 2025/03/20(木) 08:21:38.87 ID:6IEA4H0O >>693 Rust fn f(a: i64) -> String { let b = (a as u64).next_power_of_two() as i64; let b = if 3 * a > 2 * b { b } else { b >> 1 }; let (c, d) = (b - a, a * b); let shift = c.trailing_zeros().min(d.trailing_zeros()); let (c, d) = (c >> shift, d >> shift); if a == b { format!("1/{a}=1/{b}") } else { format!("1/{a}=1/{b}{c:+}/{d}") } } fn main() { assert_eq!("1/3=1/4+1/12", f(3)); assert_eq!("1/7=1/8+1/56", f(7)); assert_eq!("1/9=1/8-1/72", f(9)); assert_eq!("1/13=1/16+3/208", f(13)); assert_eq!("1/60=1/64+1/960", f(60)); assert_eq!("1/64=1/64", f(64)); assert_eq!("1/6718464=1/8388608+1631/55037657088", f(6718464)); assert_eq!("1/123456789=1/134217728+10760939/16570089725755392", f(123456789)); } http://mevius.5ch.net/test/read.cgi/tech/1691038333/696
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s