- 134 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 00:16:28.52 ID:IEr5OW/T.net]
- >>120
メモ化したら速くなったけど memoをこちらで用意して毎回渡していくのを避けられないのかな? fn main() { let mut memo: Vec<usize> = Vec::new(); for n in 0..100 { let f = f(n, &mut memo); println!("f({n}) = {f}"); } } fn f(n: usize, memo: &mut Vec<usize>) -> usize { if let Some(result) = memo.get(n) { *result } else { let result = match n { 0 => 0, 1 => 1, n => f(n - 1, memo) + f(n - 2, memo), }; memo.push(result); result } }
|

|