はまやんはまやんはまやん

hamayanhamayan's blog

Bad Ugly Numbers [Codeforces Global Round 7 A]

https://codeforces.com/contest/1326/problem/A

解説

https://codeforces.com/contest/1326/submission/73895303

n=1のときは、その桁で必ず割り切れるので答えがない。
2以上のときは必ず答えが存在する。
自分は222222....222223を作って、全体が3で割り切れるなら、10の位を3に変換して答えた。
下1桁を3にしておけば、2で割り切れることはなく、3で割り切れるかはすべての桁の総和が3で割り切れるかなので、
2->3にすることで調整可能。

int T;
//---------------------------------------------------------------------------------------------------
void _main() {

    cin >> T;
    rep(_, 0, T) {
        int n; cin >> n;
        if (n == 1) {
            printf("-1\n");
            continue;
        }

        string ans = "";
        int sm = 0;
        rep(i, 0, n - 1) ans += "2", sm += 2;
        ans += "3"; sm += 3;
        if (sm % 3 == 0) ans[0] = '3';
        printf("%s\n", ans.c_str());
    }
}