알고리즘/기타

[HackerRank] Extra Long Factorials

히더 2018. 9. 28. 20:02

출처 : https://www.hackerrank.com/challenges/extra-long-factorials/problem


#include <bits/stdc++.h>


using namespace std;


void extraLongFactorials(int n) {

    vector<int> v; v.push_back(1);


    for (int i = 2; i <= n; i++) {

        for (auto j = v.begin();j != v.end();j++) *j *= i;


        for (int k = 0; k < v.size(); k++) {

            if (v[k] < 10) continue;

            if (k == v.size() - 1) v.push_back(0);

            v[k + 1] += v[k] / 10; v[k] %= 10;

        }

    }

    for (auto it = v.rbegin(); it != v.rend(); it++) cout << *it;

}


int main()

{

    int n;

    cin >> n;

    cin.ignore(numeric_limits<streamsize>::max(), '\n');


    extraLongFactorials(n);


    return 0;

}