Эй, ребята, я работаю над книгой и немного озадачен подзадачей следующего вопроса.
Сила чисел может быть рассчитана путем умножения числа на себя столько раз как значение показателя степени. Например, 2, возведенное в степень 4, можно рассчитать, умножив 2 на 4 раза, чтобы получить 16. Напишите программу, которая: 1. вводит double как базовое число и int как показатель степени;
double base, ans = 0;
int exponent;
cout << "This program will calculate the power of any number that you enter.." << endl;
cout << "Please enter your base number" << endl;
cin >> base;
cout << "Thank you" << endl;
cout << "Please enter the Exponent" << endl;
cin >> exponent;
умножает базовое число на себя, используя al oop, которое повторяется для числа раз в целом числе;
while (exponent != 0)
{
ans = ans + (base * base);
--exponent;
}
выводит вычисленное экспоненциальное значение.
cout << "The answer is " << ans << endl;
Используйте оператор if для особого случая, когда выходное значение равно 1, если значение int равно 0.
if (exponent == 0)
{
cout << "The answer is " << 1 << " because the exponent value entered was 0" << endl;
}
Для более сложной версии заключите сделку со случаем, когда показатель степени отрицателен. (вот где моя проблема ... я не могу получить работу без использования военнопленного) вот что я попробовал:
else if (exponent < 0)
{
ans = pow(base, exponent);
/*
ans++;
while (exponent != 0)
{
ans = 1/(ans + (base * base));
++exponent;
}
*/
cout << "The answer is " << ans << endl;
}
Я провел поиск в Интернете и обнаружил это: "Для представления отрицательного показателя. Все вы должны сделать это разделить 1 на положительный показатель. Пример: 6 ^ -2 = 1 / (6 ^ 2). "
и это:" Ну, это потому, что в C ++ ^ является побитовым оператором xor ... для этого вам нужно использовать pow (). "
любая помощь или комментарии приветствуются заранее