Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Теорема Пифагора. Math.pow ошибка NaN и не правильный ответ (https://javascript.ru/forum/misc/80656-teorema-pifagora-math-pow-oshibka-nan-i-ne-pravilnyjj-otvet.html)

Aleksandr Gumanat 10.07.2020 12:57

Теорема Пифагора. Math.pow ошибка NaN и не правильный ответ
 
Привет всем! Я тут решал задачку и столкнулся с проблемкой. Задача: У прямоугольного треугольника две стороны n (со значением 3) и m (со значением 4). Найдите гипотенузу k по теореме Пифагора (нужно использовать функцию Math.pow(число, степень) или оператор возведения в степень ** ). Формула n^2 + m^2 = k^2. И чтоб узнать k (гипотенузу) нужно узнать ее корень. Сделал все как и надо было, но тут не задача. Ответ совершенно неправильный должен быть: √3*3 + 4*4 = √25 = 5 , а получается NaN
function math(){
	let n = prompt('Введите значение катета n:');
	let m = prompt('Введите значение катета m:');
	let k = Math.sqrt(Math.pow(n) + Math.pow(m));
	alert(k);
}


math();//Ответ NaN
,
убрав Math.pow (а это уже не по задаче) все стало нормально работать, но ответ 16.822603841260722.
function math(){
	let n = prompt('Введите значение катета n:');
	let m = prompt('Введите значение катета m:');
	let k = n**n + m**m;
	alert(k);
}


math();//Ответ 16.822603841260722 вместо 5

Хотелось бы узнать, как использовать Math.pow без ошибки с NaN и чтоб ответ был правильный.Помогите мне очень нужна ваша помощь буду благодарен:help:

Aleksandr Gumanat 10.07.2020 12:59

Цитата:

(а это уже не по задаче)
Все по задаче я ошибся написал
;) так что ** можно использовать но это не решает проблему и как правильно использовать Math.pow()

Vlasenko Fedor 10.07.2020 13:19

Math.pow(3, 2) +Math.pow(4, 2)
:)

Aleksandr Gumanat 10.07.2020 13:39

Спасибо!!

voraa 10.07.2020 17:02

Все браузеры старше IE11 поддерживают операцию возведения в степень
let k = Math.sqrt(n ** 2 + m ** 2);

Alexandroppolus 11.07.2020 18:24

https://developer.mozilla.org/en-US/...cts/Math/hypot


Часовой пояс GMT +3, время: 06:21.