Подобрать алгоритм вычисления степеней с использованием цикла for - C (СИ)
Формулировка задачи:
прошу помочь с алгоритмом, уже битый час сижу, ничего в голову не приходит,
необходимо сделать через цикл FOR
вычислить , дано x и n
1+x+x2+x3+...xn
единственное предположение, и то не верно из-за строчки
res=1;sum=1;
for(i=1;i<=n;i++)
{ res=res*x;
an=res*x;
x=an;
sum=sum+an;
}res=res*x;
Решение задачи: «Подобрать алгоритм вычисления степеней с использованием цикла for»
textual
Листинг программы
uvlong calc(int x, int n) {
uvlong sum, prod;
int i;
sum = 1;
prod = x;
for (i = n; i >0; i--) {
sum += prod;
prod *= x;
}
return sum;
}
Объяснение кода листинга программы
В данном коде функция calc вычисляет n-ю степень числа x.
- Создаются две переменные: sum и prod, которые будут использоваться для хранения промежуточных результатов.
- Переменная i инициализируется значением n.
- Переменная sum инициализируется значением 1.
- Переменная prod инициализируется значением x.
- Запускается цикл for, который выполняется n раз.
- Внутри цикла переменная sum увеличивается на значение переменной prod.
- Значение переменной prod умножается на x.
- После выполнения цикла, функция возвращает значение переменной sum. Таким образом, результатом работы функции будет n-я степень числа x.