C++ for循环阶乘问题

2024-10-31 11:22:29
有3个网友回答
网友(1):

这个还要解释?
规定:0!=1
1!=1
factorials[1] = factorials[0] = 1.0这句话就是这个意思
看它下标和数组对应的值就知道factorials[n]=n!数组里的值是下标n的阶层
根据前两个初始值,可以算出其他下标的值就是上面那个公式factorials[i] = i*factorials[i-1];

网友(2):

我也在学习刚好看见这有问题的提问,我吧我的思路说下不对的求不要喷啊,我还是小菜鸟求大神批评和指正正题开始:
const int Arsize = 8;全局变量 ,const限定符不可改变
double factorials[Arsize];//创建一个可以改变的数组元素(8)
factorials[1] = factorials[0] = 1.0; //1.0从右到左赋值为1.0
for(int i = 2;ifactorials[i] = i*factorials[i-1];//(factorials[i-1]分解为i-1元素的值) * i
for(int i=0; icout<

网友(3):

double factorials[Arsize];声明一个数组,前面有一个常量const int Arsize = 8;所以刚才声明的数组大小为8(能存8个double型数据)
factorials[1] = factorials[0] = 1.0; //第一和第二都是1.0(数组从0开始数的)

for(i = 2;i {
factorials[i] = i*factorials[i-1];
};
i=2开始,即第三个元素开始。数组元素的下标排列是0 1 2 一直下去的。
现在factorials[2]等于2乘以前一个元素。
后面的循环是循环输出数组。

program团队为您服务!希望能帮到您!欢迎追问