Моя факториальная программа не работает (в javascript) - PullRequest
0 голосов
/ 09 апреля 2020

function factorial(num) {
  var factorialValue = 1;
  if (num === 0) {
    return factorialValue;
  } else {
    for (var i = num; i <= 1; i--) {
      factorialValue *= i;
    }
    return factorialValue;
  }
}

console.log(factorial(10));
console.log(factorial(5));
console.log(factorial(3));
console.log(factorial(0));

В чем проблема в моем коде? Работает только 1.

// thx для ваших кодов !!!

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

function factorial(num) {
  var factorialValue = 1;
  for (var i = num; i > 1; i--) {
    factorialValue *= i;
  }
  return factorialValue;
}

console.log(factorial(10));
console.log(factorial(5));
console.log(factorial(3));
console.log(factorial(0));

Но я думаю, что вы можете использовать памятку (или рекурсию) вместо циклов for.

function factorial (n){
  if (n==0 || n==1)
    return 1;
  return factorial(n-1)*n;
} 

console.log(factorial(10));
0 голосов
/ 09 апреля 2020

Вы можете использовать более простой код, используя рекурсию. Наслаждайтесь!

function factorial(num) {
  if (num === 0) {
    return 1;
  } else {
    return num * factorial(num-1);
  }
}

console.log(factorial(10));
console.log(factorial(5));
console.log(factorial(3));
console.log(factorial(0));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...