結果

問題 No.3156 Count That Day's N
ユーザー akkey
提出日時 2025-05-24 02:10:21
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 19 ms / 3,000 ms
コード長 619 bytes
コンパイル時間 11,928 ms
コンパイル使用メモリ 400,960 KB
実行使用メモリ 7,848 KB
最終ジャッジ日時 2025-05-24 02:10:36
合計ジャッジ時間 13,815 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 32
権限があれば一括ダウンロードができます
コンパイルメッセージ
warning: variable `K` should have a snake case name
 --> src/main.rs:6:9
  |
6 |         K: usize, N: usize
  |         ^ help: convert the identifier to snake case (notice the capitalization): `k`
  |
  = note: `#[warn(non_snake_case)]` on by default

warning: variable `N` should have a snake case name
 --> src/main.rs:6:19
  |
6 |         K: usize, N: usize
  |                   ^ help: convert the identifier to snake case: `n`

ソースコード

diff #

use std::collections::HashSet;

use proconio::input;
fn main() {
    input! {
        K: usize, N: usize
    }
    let mut set = HashSet::new();
    for x6 in (1_usize..).map(|x| x.pow(6)).take_while(|&x6| x6 <= N) {
        for y4 in (1_usize..).map(|y| y.pow(4)).take_while(|&y4| x6 + y4 <= N) {
            let n = x6 + y4;
            if n % K != 0 {
                continue;
            }
            let m = n / K;
            let z = f64::sqrt(m as f64) as usize;
            if z * z == m || (z + 1) * (z + 1) == m {
                set.insert(n);
            }
        }
    }
    println!("{}", set.len());
}
0