Javascript 这个阶乘while函数的解释
我已经用控制台日志进行了测试,但是在几次尝试之后,我仍然无法弄清楚这个函数是如何输出的。本例中的数字6将被放入名为thingamajig的函数的参数中,else语句将抛出一个执行。但后来我在法基处决时迷路了。我理解执行的大小,只是为什么facky会输出6、30、120、360、720Javascript 这个阶乘while函数的解释,javascript,Javascript,我已经用控制台日志进行了测试,但是在几次尝试之后,我仍然无法弄清楚这个函数是如何输出的。本例中的数字6将被放入名为thingamajig的函数的参数中,else语句将抛出一个执行。但后来我在法基处决时迷路了。我理解执行的大小,只是为什么facky会输出6、30、120、360、720 函数隆隆声(次){ var num=次; while(num>0){ 显示(“沉闷”); num=num-1; } } 功能thingamajig(尺寸){ var facky=1; 笨重计数器=0; 如果(大小
函数隆隆声(次){
var num=次;
while(num>0){
显示(“沉闷”);
num=num-1;
}
}
功能thingamajig(尺寸){
var facky=1;
笨重计数器=0;
如果(大小==0){
显示(“叮当声”);
}否则如果(大小==1){
显示(“thunk”);
}否则{
而(大小>1){
facky=facky*size;//输出6、30、120、360、720
size=size-1;//输出6、5、4、3、2、1
}
克朗克(法基);
}
}
功能显示(输出){
控制台日志(输出);
笨重计数器=笨重计数器+1;
}
var-clunkCounter=0;
thingamajig(6);
控制台日志(笨重计数器)代码>
为什么法基会输出6、30、120、360、720
这基本上是一个阶乘实现
对于size==6
6 * 5 * 4 * 3 * 2 = 720
等等
为什么法基会输出6、30、120、360、720
这基本上是一个阶乘实现
对于size==6
6 * 5 * 4 * 3 * 2 = 720
等等。这很简单。
当您发送到thingamajig尺码6时
他妈的会是6*5*4*3*2
当您发送30码,
他妈的会是30*29*28….*2
等等
所以,
如果你发送3-fucky将是6(3*2)这很简单。
当您发送到thingamajig尺码6时
他妈的会是6*5*4*3*2
当您发送30码,
他妈的会是30*29*28….*2
等等
所以,
如果你发送3-fucky将是6(3*2)1*6=6;6 * (6 - 1) = 30; 30*(6-2)=120
等。您在每次迭代中重新分配facky
1*6=6;6 * (6 - 1) = 30; 30*(6-2)=120
等等。你在每次迭代中重新分配facky
。像我这样愚蠢的人,我已经熟悉阶乘了。但无法将其与这个答案联系起来。愚蠢的我,我已经熟悉阶乘了。但无法将其与这个答案联系起来。