求2!+4!+6!+8!+10!+…+ n!偶数阶乘问题
#include <stdio.h>
void main()
{
int i,n;
double t,s;
t=1;
s=0;
printf("请输入一个n值:");
scanf("%d",&n);
printf("\n");
for (i=2;i<=n;i=i+2)
{
t=t*i*(i-1); //求偶数阶乘2!,4!,...n!
s=s+t; //求阶乘和
}
printf("2!+4!+...+n!=%f",s);
}
为什么我输入171以内的数都没有问题呢?但是172就显示
1.#INF001
为什么上面程序可以算到171这么大呢?
我试过其他的一些写法 很多都到100就出现问题了?
是因为 double t,s的问题吗?
大数阶乘要用到动态链表?
帮我分析一下上面的吧。。。