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

1.9 KiB
Raw Permalink Blame History

Блок заданий "Задание, Java Script, Node JS:" (3)

  1. На javascript, без использования математических функций, проверить, является ли целое число квадратом.

Входным параметром у нас является целое число. Поскольку javascript является языком с динамической типизацией данных нам для начала надо реализовать проверку входных данных: для этого необходимо написать соответствующую функцию:

function isInt (value) {  // Функция проверки целочисленного типа
	if (typeof(value) == 'number') {
		return parseInt(value) == value;
	}
	else {
		return false;
	}
}

Далее, мы применяем проверку уже в нашей основной функции и в случае провала проверки выдаём ошибку.
Алгоритм проверки заключается в следующем: мы перебираем все квадраты в цикле, пока следующий квадрат не будет либо больше, либо равен нашему входному параметру. Если квадрат в цикле равен входному параметру, то возвращаем true (является квадратом), если он больше входного параметра, то false (не является квадратом).

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");
	}
}