#include
unsigned long Fact(unsigned int n );
int main()
{
int m;
unsigned long sum;
long ret;
do{
printf("input m:");
scanf("%d",&m);
}while (m<0); /*增加对输入数据的限制,确保输入的数据为无符号整型*/
sum=Fact(m);
printf("sum=%lu\n",sum);
}
/*函数功能:用迭代法计算无符号整型变量n!,再求和*/
unsigned long Fact(unsigned int n )
{
unsigned int i;
unsigned long result =1,sum;
for (i=1;i<=n;i++)
{
result *=i;
sum+=result;
}
return sum;
}