Помогите с функцией военнопленных в C ++ - PullRequest
0 голосов
/ 15 сентября 2011

m возникли проблемы с функцией pow. Уравнение A=P*((1+R)/T)^T, где "^" является степенью. Как бы я использовал функцию pow, я вижу только примеры от 4 до 5 степени, ничего похожего на то, что я должен делать

Ответы [ 5 ]

4 голосов
/ 15 сентября 2011

это будет просто A = pow((1+R)/T , T) * P;

1 голос
/ 15 сентября 2011

Функция C ++ std::pow может использоваться следующим образом: если вы пишете

std::pow(base, exponent)

, функция вычисляет base<sup>exponent</sup>.В вашем случае, потому что вы хотите вычислить

A = P * ((1 + R) / T) ^ T

Вы можете вызвать функцию следующим образом:

A = P * std::pow((1 + R) / T, T);

Обратите внимание, что второй аргумент не должен быть константой;это может быть любое значение, которое вам нужно, даже то, которое вы не знаете до времени выполнения.

Надеюсь, это поможет!

1 голос
/ 15 сентября 2011
P * pow((1+R)/T, T)

Второй аргумент - это показатель степени (мощность), который должен поднять первый аргумент до.

0 голосов
/ 15 сентября 2011

Или:

A = P * pow ((1 + R) / T, T)

или

A = pow (P * (1 + R) / T, T)

в зависимости от того, должна ли мощность включать умножение на P или нет.

Я бы заподозрил первое, поскольку возведение в степень имеет тенденцию иметь более высокий приоритет в математике - то есть 4x<sup>2</sup> равно 4(x<sup>2</sup>), а не (4x)<sup>2</sup>.

0 голосов
/ 15 сентября 2011

Используйте man pow, чтобы увидеть использование

A = P * pow((1 + R) / T, T)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...