Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2020, 12:57
Интересующийся
Отправить личное сообщение для Aleksandr Gumanat Посмотреть профиль Найти все сообщения от Aleksandr Gumanat
 
Регистрация: 10.07.2020
Сообщений: 12

Теорема Пифагора. 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 и чтоб ответ был правильный.Помогите мне очень нужна ваша помощь буду благодарен

Последний раз редактировалось Aleksandr Gumanat, 10.07.2020 в 13:07.
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2020, 12:59
Интересующийся
Отправить личное сообщение для Aleksandr Gumanat Посмотреть профиль Найти все сообщения от Aleksandr Gumanat
 
Регистрация: 10.07.2020
Сообщений: 12

Цитата:
(а это уже не по задаче)
Все по задаче я ошибся написал
так что ** можно использовать но это не решает проблему и как правильно использовать Math.pow()
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2020, 13:19
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Math.pow(3, 2) +Math.pow(4, 2)
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2020, 13:39
Интересующийся
Отправить личное сообщение для Aleksandr Gumanat Посмотреть профиль Найти все сообщения от Aleksandr Gumanat
 
Регистрация: 10.07.2020
Сообщений: 12

Спасибо!!
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2020, 17:02
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,701

Все браузеры старше IE11 поддерживают операцию возведения в степень
let k = Math.sqrt(n ** 2 + m ** 2);
Ответить с цитированием
  #6 (permalink)  
Старый 11.07.2020, 18:24
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

https://developer.mozilla.org/en-US/...cts/Math/hypot
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему ошибка при статусе 200, или как сформировать ответ? [NodeJS&AJAX] blacklool AJAX и COMET 2 10.03.2015 21:36