#include
int fac(int n) {
return n ? n*fac(n - 1) : 1;
}
int main()
{
int n;
std::cin >> n;
for (int i = 1; i < n; ++i) {
if (n == fac(i)){
std::cout << i << "! = " << n;<br> break;
}
}
return 0;
}
Алгоритм не оптимизирован, но для учебных целей сойдет.