Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (11.12.2011 в 17:11)
Возьмите Windows-калькулятор и при помощи опции x^y возведите 4^0.5 - это эквивалентно корню квадратному из 4, получается 2. Теперь возведите 27^0.333333333333333333333333333333 (что приближенно эквивалентно кубическому корню), получите 2.9999999999999999999999999999967 т.е. почти 3 (3*3*3 = 27), а теперь подставьте в любую из позиций отрицательное число и получите "Не допустимый аргумент функции". Я понимаю, что вы хотите сказать, что -3 * -3 * -3 = -27, это квадратный корень с отрицательным аргументом уходит в комплексные числа, а кубический - нет и если использовать дроби, а не числа с плавающей точкой, то для ряда отрицательных корней все должно работать. Однако, в императивных языках программирования и вообще в процессоре и его сопроцессоре, как правило, нет дробей. Это удел компьютерных алгебр и символьных языков программирования. Даже если мы сейчас с вами решим эту проблему для целых чисел схожим образом (вообще это возможно), у вас же первый аргумент все равно не целый... т.е. нет такого числа, умножив которое друг на друга три раза можно его получить.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: