大虾们,问个C#基础的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:37:37
我想用C#计算.1!+2!+.....+15!
这样写的
int k=1,q=0;
for(i=1;i<=15;i++)
{
for (j=1;j<=i;j++)
{
k*=j;
}
q+=k;
}
Console.writeing(q);
可以编译,但是运行就结果不对,错在那了?

k=1应该写在第一重循环里面.否则K值不会归1,例如算3的阶乘时k值是1!+2!

int型可以表示-2147483648到2147483648。。。你看看你运算到十以上的阶层时数字多大了。。。显然超出了int的限度。。。。