-
// main.rs // https://rinthel.github.io/rust-lang-book-ko/ch03-05-control-flow.html fn main() { // Q1 섭씨 화씨 계산 let far = cel2far(32); let cel = far2cel(far); println!("far: {}, cel: {}", far, cel); // Q2 n 피보나치 for i in 0..11 { let f = fibo(i); println!("fibo[{}] : {}", i, f); } } fn cel2far(cel: i32) -> i32 { cel * 9 / 5 + 32 } fn far2cel(far: i32) -> i32 { (far - 32) * 5 / 9 } fn fibo(n: i32) -> i32 { if n < 2 { return n; } else { fibo(n - 2) + fibo(n - 1) } } // 👏 fn fibonacci_recursive(n: i32) -> u64 { if n < 0 { panic!("{} is negative!", n); } match n { 0 => panic!("zero is not a right argument to fibonacci_recursive()!"), 1 | 2 => 1, 3 => 2, _ => fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2) } }
오랜만에 시간이 남아 다른 언어를 접해봤는데 재미가 있다.
'2021 > 개발' 카테고리의 다른 글
rust 04 (0) 2021.06.15 rust 03 (0) 2021.06.11 rust 02 (0) 2021.06.09 0002 - Layout System (0) 2021.01.18 0001 - Props / State (0) 2021.01.10