用了long long定义,为什么输入22时还会输出负数
#include <bits/stdc++.h> using namespace std; int main() { long long n, s, sum=0; cin >> n; for(long long i=1;i<=n;i++) { s=1; for(long long j=i;j>1;j--) s*=j; sum+=s; } cout << sum << endl; return 0; }
有点苦恼qwq求大佬讲解