プログラマーになりたい。

プログラミングや写真や本や読書会のことや、日常のこと。

0回目

今日のバグ作品です。入力nを元にk回計算をする問題です(ABC192-C: C - Kaprekar Number)。

use proconio::{input, marker::Chars};

fn main() {
    input! {
        n: Chars,
        k: usize,
    };
    let mut a = n.to_owned(); // 数字(char)の配列
    let mut a_int = 0; // 文字列aを整数にしたもの
    for _i in 1..=k {
       // aを計算
       // a_intを更新
    }
    println!("{}", a_int);
}

これだと、k=0のとき、for内部を経ないので0が出てきてしまいます。正しくはnが出力される必要があるのですが。私の作ったバグはこのような境界条件で変になるパターンが多いです。

    let mut a_int = n.iter().collect::<String>().parse::<u32>().unwrap();
Creative Commons License ©2007-2021 IIDA Munenori.