2 changed files with 63 additions and 0 deletions
@ -0,0 +1,29 @@ |
|||||||
|
{ |
||||||
|
"number": "4", |
||||||
|
"task": "Создайте функцию, которая принимает число в качестве входных данных и возвращает true, если сумма ее цифр имеет ту же четность, что и все число. В противном случае верните false.", |
||||||
|
"vars": [ |
||||||
|
[ |
||||||
|
{ |
||||||
|
"name": "n", |
||||||
|
"desc": "Исходное число", |
||||||
|
"data": "" |
||||||
|
} |
||||||
|
], |
||||||
|
[ |
||||||
|
{ |
||||||
|
"name": "n", |
||||||
|
"desc": "Исходное число", |
||||||
|
"data": "25" |
||||||
|
} |
||||||
|
], |
||||||
|
[ |
||||||
|
{ |
||||||
|
"name": "n", |
||||||
|
"desc": "Исходное число", |
||||||
|
"data": "14" |
||||||
|
} |
||||||
|
] |
||||||
|
], |
||||||
|
"scriptpath": "labs/lab4/main.js", |
||||||
|
"complete": true |
||||||
|
} |
||||||
@ -0,0 +1,34 @@ |
|||||||
|
"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 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; |
||||||
|
} |
||||||
Loading…
Reference in new issue