praca-test-tasks/3.nodejs_js/readme.md
2023-03-12 13:31:12 +03:00

35 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Блок заданий "Задание, Java Script, Node JS:" (3)
3. На javascript, без использования математических функций, проверить, является ли целое число квадратом.
Входным параметром у нас является целое число. Поскольку javascript является языком с динамической типизацией данных нам для начала надо реализовать проверку входных данных: для этого необходимо написать соответствующую функцию:
```javascript
function isInt (value) { // Функция проверки целочисленного типа
if (typeof(value) == 'number') {
return parseInt(value) == value;
}
else {
return false;
}
}
```
Далее, мы применяем проверку уже в нашей основной функции и в случае провала проверки выдаём ошибку.
Алгоритм проверки заключается в следующем: мы перебираем все квадраты в цикле, пока следующий квадрат не будет либо больше, либо равен нашему входному параметру.
Если квадрат в цикле равен входному параметру, то возвращаем true (является квадратом), если он больше входного параметра, то false (не является квадратом).
```javascript
function isSqrt (value) {
if (isInt(value)) { // Проверим тип
let counter = 1;
while (counter * counter <= value) {
if (counter * counter == value) {
return true;
}
counter++;
}
return false;
}
else {
throw new Error("Wrong type of first argument: required integer");
}
}
```