ILSMATH - Đếm số giai thừa !
Tác giả: khuc_tuan
Ngôn ngữ: C++
#include <iostream>
#include <sstream>
#include <cstdio>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <string>
#include <cstdlib>
using namespace std;
#define Rep(i,n) for(int i=0;i<(n);++i)
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Ford(i,a,b) for(int i=(a);i>=(b);--i)
#define fi first
#define se second
#define pb push_back
#define MP make_pair
typedef pair<int,int> PII;
typedef vector<int> VI;
int main() {
int n;
cin >> n;
VI res;
double d = 0;
For(i,0,1000000) {
if(i > 0) d += log((double)i) / log(10);
if(d >= n) break;
if(d >= n-1) res.pb(i);
}
if(res.size() == 0) { cout << "NO" << endl; return 0; }
// if(n==1) res.erase(res.begin());
cout << res.size() << endl;
Rep(i,res.size()) cout << res[i] << endl;
return 0;
}