#include <stdio.h>
// 必须用 long long 才能存下20!及累加和
long long fact(int n)
{
long long f;
if(n==1 || n==0) f=1;
else f = n * fact(n-1);
return f;
}
int main(void)
{
long long sum=0; // 累加和必须用long long
int j;
for(j=1;j<=20;j++)
{
sum = sum + fact(j);
}
printf("%lld", sum
); // long long 用%lld输出 return 0;
}
CiNpbmNsdWRlIDxzdGRpby5oPgovLyDlv4XpobvnlKggbG9uZyBsb25nIOaJjeiDveWtmOS4izIwIeWPiue0r+WKoOWSjApsb25nIGxvbmcgZmFjdChpbnQgbikKewogICAgbG9uZyBsb25nIGY7CiAgICBpZihuPT0xIHx8IG49PTApIGY9MTsKICAgIGVsc2UgZiA9IG4gKiBmYWN0KG4tMSk7CiAgICByZXR1cm4gZjsKfQppbnQgbWFpbih2b2lkKQp7CiAgICBsb25nIGxvbmcgc3VtPTA7ICAvLyDntK/liqDlkozlv4XpobvnlKhsb25nIGxvbmcKICAgIGludCBqOwogICAgZm9yKGo9MTtqPD0yMDtqKyspCiAgICB7CiAgICAgICAgc3VtID0gc3VtICsgZmFjdChqKTsKICAgIH0KICAgIHByaW50ZigiJWxsZCIsIHN1bSk7ICAvLyBsb25nIGxvbmcg55SoJWxsZOi+k+WHugogICAgcmV0dXJuIDA7Cn0K