Browse Source

Добавлена работа 4

master v1.4.0
Krio 4 years ago
parent
commit
9850a76fcb
  1. 29
      labs/lab4/desc.json
  2. 34
      labs/lab4/main.js

29
labs/lab4/desc.json

@ -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
}

34
labs/lab4/main.js

@ -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…
Cancel
Save