/***************************************************************
累加(C語言)
AUTHOR:liuyongshui
DATE:********
***************************************************************/
/*
問題五: f=1!-2!+3!-4!+...+n!(n為一定大的數,太大了會溢出)
*/
#include <stdio.h>
void f(int m); //原函數聲明
int main()
{
int n;
printf("請輸入一個數(不能太大):");
scanf("%d", &n);
f(n); //把n帶入f()函數
return 0;
}
// f()函數定義
void f(int m)
{
int i;
int j;
int k=1;
int s=1;
int sum=0;
for(i=1; i<=m; i++)
{
for(j=1; j<=i; j++)
{
s*=j; //計算i!
}
sum+=s*k;
k=-1*k; //改變k的符號
s=1; //計算i!後把s賦值為1
}
printf("%d\n", sum);
}