#include <iostream>using namespace std;int main() {int a;cin>>a;long res = 1;for (int i=a; i<=20; ++i)res *= i;cout<<res<<"";return 0;}Значение 20 (выделено в программе) вызывает арифметическое переполнение при небольших а. Попробуйте задать a=19 или 18.