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

hamayanhamayan's blog

10^Nの約数 [yukicoder No.677]

https://yukicoder.me/problems/no/677

解法

https://yukicoder.me/submissions/254272

10^Nを素因数分解すると2^N*5^Nとなる。
よって、約数は2^x*5^yかつ0≦x≦N, 0≦y≦Nを満たす数である。
これを全列挙してソートして答える。

int N;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    
    vector<ll> ans;
    rep(i2, 0, N + 1) rep(i5, 0, N + 1) {
        ll x = 1;
        rep(i, 0, i2) x *= 2;
        rep(i, 0, i5) x *= 5;
        ans.push_back(x);
    }
    sort(all(ans));
    fore(x, ans) printf("%lld\n", x);
}