найти корень куба в C ++? - PullRequest
       3

найти корень куба в C ++?

10 голосов
/ 24 ноября 2010

Странные вещи случаются, когда я пытаюсь найти корень куба числа.

Следующий код возвращает меня неопределенным. В cmd: -1. # IND

cout<<pow(( double )(20.0*(-3.2) + 30.0),( double )1/3)

Хотя этот работает отлично. В cmd: 4.93242414866094

cout<<pow(( double )(20.0*4.5 + 30.0),( double )1/3)

С математической точки зрения это должно работать, поскольку мы можем получить корень куба из отрицательного числа. Pow из библиотеки Visual C ++ 2010 math.h. Есть идеи?

Ответы [ 12 ]

0 голосов
/ 05 марта 2013

потому что 1/3 всегда будет возвращать 0, так как это будет считаться целым числом ... попробуйте с 1.0 / 3.0 ... это то, что я думаю, но попробуйте и реализовать ... и не забудьте объявить переменные, содержащие1.0 и 3.0 как двойные ...

0 голосов
/ 24 ноября 2010

Я думаю, вы не должны путать возведение в степень с n-ным корнем числа.Смотрите старый добрый Википедия

...