結果
問題 |
No.554 recurrence formula
|
ユーザー |
|
提出日時 | 2017-08-12 16:35:10 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 721 bytes |
コンパイル時間 | 12,321 ms |
コンパイル使用メモリ | 401,456 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-13 04:54:31 |
合計ジャッジ時間 | 13,295 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
use std::io; const BIG: u64 = 1000_000_007; fn main() { let mut s = String::new(); io::stdin().read_line(&mut s).unwrap(); let n: u64 = s.trim().parse().unwrap(); if n == 1 { println!("1"); return; } let mut last_a; let mut rui_1 = 1u64; let mut rui_2 = 0u64; let mut i = 2; loop { // 偶数 let a = rui_1 * i % BIG; last_a = a; if i == n { break; } rui_2 += a; if rui_2 >= BIG { rui_2 -= BIG; } i += 1; let a = rui_2 * i % BIG; last_a = a; if i == n { break; } rui_1 += a; if rui_1 >= BIG { rui_1 -= BIG; } i += 1; } println!("{}", last_a); }