Кубический корень в C++

b = pow(a, 1.0 / 3);

по этой функции извликаю корень куб. из 1000 выдает 9.
Но кубическиу корень равен 10.
Это нормально?если нет то подскажите как исправить

Возвращаемое функцией pow значение по умолчанию имеет тип double. Если у вас переменная b имеет тип int, то при присваивании значения происходит потеря данных. Перепишите код так:

int a = 1000;            // или double a = 1000.0
double b = pow(a, 1.0 / 3.0);

и будет переменная b = 10.0

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.