C++ Создать функцию вычисления степени числа с показателем (без использования функции pow)
Ответы на вопрос
#include <iostream>
#include <cmath>
using namespace std;
long double StepenChisla(float x, float y) {
return exp(log(x)*y);
}
int main()
{
float a,n;
cin >> a >> n;
cout << StepenChisla(a,n);
return 0;
}
Почему float? Чтобы вычислять вещественные числа тоже (можно использовать long double для больших чисел, как при возвращении ответа функции)
Вы можете создать функцию для вычисления степени числа с показателем в C++ без использования функции pow следующим образом, используя цикл:
cpp#include <iostream>
double power(double base, int exponent) {
if (exponent == 0) {
return 1.0;
}
double result = 1.0;
if (exponent > 0) {
for (int i = 0; i < exponent; i++) {
result *= base;
}
} else {
for (int i = 0; i > exponent; i--) {
result /= base;
}
}
return result;
}
int main() {
double base;
int exponent;
std::cout << "Введите основание: ";
std::cin >> base;
std::cout << "Введите показатель степени: ";
std::cin >> exponent;
double result = power(base, exponent);
std::cout << base << " в степени " << exponent << " равно " << result << std::endl;
return 0;
}
Этот код определяет функцию power, которая принимает основание и показатель степени в качестве аргументов и вычисляет степень числа. Код также включает в себя простой пример использования функции в функции main.
Вы можете создать функцию для вычисления степени числа без использования функции pow с помощью цикла. Вот пример функции на C++, которая выполняет это:
cpp#include <iostream>
double power(double base, int exponent) {
if (exponent == 0) {
return 1.0; // Любое число в степени 0 равно 1.
}
double result = 1.0;
// Если показатель степени положителен, умножаем базу на себя exponent раз.
if (exponent > 0) {
for (int i = 0; i < exponent; ++i) {
result *= base;
}
}
// Если показатель степени отрицателен, делим 1 на базу exponent раз.
else {
for (int i = 0; i < -exponent; ++i) {
result /= base;
}
}
return result;
}
int main() {
double base;
int exponent;
std::cout << "Введите основание: ";
std::cin >> base;
std::cout << "Введите показатель степени: ";
std::cin >> exponent;
double result = power(base, exponent);
std::cout << base << " в степени " << exponent << " равно " << result << std::endl;
return 0;
}
Этот код определяет функцию power, которая принимает основание и показатель степени. Затем она использует цикл для вычисления результата, умножая или деля на базу в зависимости от знака показателя степени. Вы можете ввести основание и показатель степени с клавиатуры в функции main для вычисления степени числа.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
