【求助】关于阶乘的问题
long a, b, c;
b = 1;
c = 0;
for (a = 1; a <= 20; a++) {
b = a * a;
c = c + b;
System.out.println( c);
}
为什么打印出来的不是阶乘??两两相乘的积相加,为什么这样写错了?
------解决方案--------------------你写错了,看你循环,当a=1的时候b=1,c=1.第二次循环a=2*2=4了,而且初始化的b=1完全没有意义,一句话你错的没边了。
其实阶乘就是个很简单的递归思想而已。代码如下:
int s=1;
for(int i=5;i>0;i--){
s=s*i;
}