Показать сообщение отдельно
  #7 (permalink)  
Старый 12.05.2019, 10:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

function calculation(M,N){
    var количество = 0;
    for(var k = Math.pow(10, M - 1); k <= Math.pow(10, M) - 1; k++){
        const цифры = new Map();
        const число = String(k);

        for(var i = 0; i < M; i++) {
            цифры.set(M - 1 - i, число[i]);
        }

        var сумма = 0;
        for(var i = 0; i < M; i++) {
            if (i % 2 === 0) {
                сумма += Number(цифры.get(i));
            }
        }
        if(сумма === N) количество++;
    }
    return количество;
}
M = 3, N = 5;
//нечётных мест 2
// комбинаций суммы без нуля в начале [[1,4],[2,3],[3,2],[4,1],[5,0]] всего 5
// чётных мест 1, комбинаций 10 (0 - 9)
// ответ в числах [100,999] где сумма нечётных равна 5 всего 5 * 10 = 50 вариантов
alert(calculation(M,N));
Ответить с цитированием