結果

問題 No.64 XORフィボナッチ数列
ユーザー dnikk
提出日時 2018-07-18 15:33:00
言語 Rust
(1.83.0 + proconio)
結果
TLE  
実行時間 -
コード長 842 bytes
コンパイル時間 28,637 ms
コンパイル使用メモリ 397,164 KB
実行使用メモリ 8,740 KB
最終ジャッジ日時 2024-12-14 14:55:48
合計ジャッジ時間 36,629 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 7 TLE * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

fn main() {
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).ok();

    let input = input
        .split_whitespace()
        .map(|x| x.parse::<u64>().unwrap())
        .collect::<Vec<_>>();
    let (f0, f1, n) = (input[0], input[1], input[2]);

    let fk = Fk { f0: f0, f1: f1 };
    println!("{}", fk.fk(n));
}

struct Fk {
    f0: u64,
    f1: u64,
}

impl Fk {
    fn fk(&self, n: u64) -> u64 {
        match n {
            0 => self.f0,
            1 => self.f1,
            _ => {
                let mut f_k1 = self.f0;
                let mut f_k2 = self.f1;
                let mut tmp = 0;
                for _ in 2..n + 1 {
                    tmp = f_k1 ^ f_k2;
                    f_k1 = f_k2;
                    f_k2 = tmp;
                }
                tmp
            }
        }
    }
}
0