#include <iostream> #include <vector> using namespace std; void calc(vector<int>& v); void print_result(const vector<int>& v); int main() { vector<int> v; calc(v); print_result(v); return 0; } void calc(vector<int>& v) { v.push_back(1); for(int i = 1; i <= 100; ++i) { const int len = static_cast<int>(v.size()); for(int j = 0; j < len; ++j) { v[j] *= i; } for(int j = 0; j < len - 1; ++j) { if(v[j] >= 10) { v[j + 1] += v[j] / 10; v[j] %= 10; } } if(v[len - 1] >= 10) { int carry = v[len - 1] / 10; v[len - 1] %= 10; do { v.push_back(carry % 10); carry /= 10; } while (carry > 0); } } } void print_result(const vector<int>& v) { const int len = static_cast<int>(v.size()); for(int i = len - 1; i >= 0; --i) { cout << v[i]; } cout << endl; }