#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
int a;
scanf("%d",&a);
long long i,sum=1,temp=-1;
for(i=2;i<=a;i++)
{
temp*=-1*i;
sum+=temp;
}
printf("%lld\n",sum);
}
return 0;
}
让符号在 i = 2 时开始变号
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
int a;
scanf("%d",&a);
long long i,sum=1,temp=-1;
for(i=2;i<=a;i++)
{
temp*=-1*i;
sum+=temp;
}
printf("%lld\n",sum);
}
return 0;
}