Показать сообщение отдельно
  #1 (permalink)  
Старый 16.12.2016, 03:32
Новичок на форуме
Отправить личное сообщение для rexrjd Посмотреть профиль Найти все сообщения от rexrjd
 
Регистрация: 16.12.2016
Сообщений: 1

Странное поведение рекурсии
День добрый, следующая функция должна умножать цифры в числе num, если после перемножения цифр число все еще содержит более одной цифры, повторять действие. Переменная res должна показывать сколько раз функция вызывала сама себя. Не могли бы вы пояснить почему переменная res уменьшается после первого самовызова функции.
function persistence(num,res) {
	var N = String(num);
	var sum = 1;
	for(var i = 0; i<N.length; i++){
	sum = sum * Number(N.charAt(i));
	if(String(sum).length != 1)
	{

		res++;
			
		persistence(sum,res);
	}
	}	
console.log(res);
return res;
}
a = persistence(39,0);
Ответить с цитированием