刘汝佳算法入门之第二章之阶乘之和(1)

#include<stdio.h>

int main()

{

int i,j,n,s=0;

int factorial=1;

scanf("%d",&n);

for(i=1;i<=n;i++)

{

/*for(j=1;j<=i;j++)

factorial*=j;*/

factorial*=i;//此处经过修改更加简便,少了一个for循环

s+=factorial;

}

printf("%d\n",s%1000000);

return 0;

}

疑问,如果仍溢出,使用double型,但是double型数据似乎不能进行求余%的运算啊。因为它本身就是个双精度小数,如何求余呢?求解答。

posted on 2011-10-09 23:06  csushin  阅读(218)  评论(0)    收藏  举报