Добрый день, ради интереса решил написать 27 задачу с ЕГЭ по информатике на JS
Переменная s на выходе вместо числового значения выдает NaN, помогите разобраться, почему так получается, пожалуйста.
https://yandex.ru/tutor/subject/problem/?problem_id=T4919
let N, x, chet, nechet, O, five, s = 0;
let a = [];
N = prompt("Введите количество чисел");
for (let i = 0; i < 10; i++) {
a[i] = prompt("Введите число");
}
for (let i = 10; i < N; i++) {
x = prompt("Введите число");
if (a[i % 10] == 0) O++;
else if (a[i % 2] == 0) chet++;
else if (a[i % 5] == 0) five++;
else nechet++;
if (x % 10 == 0) s += five + nechet + chet + O;
else if (x % 5 == 0) s += chet + O;
else if (x % 2 != 0) s += O;
else if (x % 2 == 0) s += O + five;
}
document.write(s);
Ответы (1 шт):
Автор решения: maxet24
→ Ссылка
Вот что у меня получилось:
'use strict';
let chet = 0;
let N = prompt('Введите ко-во чисел.', '');
//Ввод чисел через запятую, например 1,5,5,8,9,4,12,14,6,7,9,8
let a = prompt('Введите числа.', '').split(',');
//Цикл, который проходит по всем эл. массива,
//при этом, если уже не с чем сравнивать,
//то есть не существует i + 10, то стоп
for ( let i = 0; !isNaN(a[i + 10]); i++ ) {
// Цикл, который проходит по всем парам
//с разницей 10 и больше
for ( let j = i + 10; !isNaN(a[j]); j++ ) {
//Проверка на условие.
//Если непонятно, раскомментируйте это и поймете:
//alert( `${i} число равно ${a[i]}, а ${j} = ${a[j]}` );
if ( a[i + 10] * a[i] % 10 == 0 ) {
chet++;
}
}
}
alert(chet);
Я все расписал и по-моему проще писать числа через запятую: 1,5,5,8,9,4,12,14,6,7,9,8.