- 184 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 07:35:06.49 ID:SXN+DpBP.net]
- >>177
>>146のオーバーフロー対策をしてみた これでいい? fn fibonacci_iter() -> impl Iterator<Item=usize> { let mut op: Option<usize> = Some(0); let mut oq: Option<usize> = Some(1); std::iter::from_fn(move || { op.take().map(|p| { op = oq.take().map(|q| { oq = q.checked_add(p); q }); p }) }) } fn main() { for (n, f) in fibonacci_iter().enumerate() { println!("f({n}) = {f}"); } }
|

|