Показать сообщение отдельно
  #2 (permalink)  
Старый 11.05.2019, 22:47
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

function calculation(M,N){
	var kol = 0;
	for(var k = Math.pow(10, M - 1); k <= Math.pow(10, M) - 1; k++){
		var chisla = Array.from(String(k)).reverse();

		var sum = 0;
		for(var i = 0; i < M; i++) {
			if (i % 2 === 0) {
				sum += Number(chisla[i]);
			}
		}
		if(sum === N) kol++;
	}
	return kol;
}


UPD Можно использовать методы массива, и также использовать кириллицу!
function calculation(M, N){
	var количество = 0;
	for (var k = Math.pow(10, M - 1); k <= Math.pow(10, M) - 1; k++) {
		const сумма = Array.from(String(k)).reverse()
			.reduce((сумма, цифра, i) => i % 2 === 0 ? сумма + Number(цифра) : сумма, 0)
		;
		if(сумма === N) количество++;
	}
	return количество;
}

Последний раз редактировалось Malleys, 11.05.2019 в 22:56.
Ответить с цитированием