You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
827 B
34 lines
827 B
"use strict"; |
|
|
|
function main(formName) { |
|
let result = document.getElementById("result"); |
|
|
|
let n = document.forms[formName].elements[0].value; |
|
if (isNotNumber(n)) { |
|
result.textContent = "Ошибка: n не является числом!"; |
|
return; |
|
} |
|
|
|
if (!Number.isInteger(Number(n))) { |
|
result.textContent = "Ошибка: проверка четности доступна только для целых чисел!"; |
|
return; |
|
} |
|
|
|
result.textContent = "Результат: " + checkParity(n); |
|
} |
|
|
|
function checkParity(n) { |
|
return Math.abs(n % 2) == getSumOfDigits(n) % 2; |
|
} |
|
|
|
function isNotNumber(val) { |
|
return val.replace(/\s/g, '').length === 0 || isNaN(val); |
|
} |
|
|
|
function getSumOfDigits(num) { |
|
let result = 0; |
|
for (let char of num) { |
|
result += isNotNumber(char) ? 0 : Number(char); |
|
} |
|
return result; |
|
} |