Lo hice conforme está esa ecuación a papel y realizándolo por pasos, el resultado da 5.33333. Les presento mi código:
Código
#include <iostream> #include <conio.h> #include <windows.h> #include <math.h> using namespace std; //FUNCION SUMATORIA float sigma(float a, float b){ float division; float suma = 0; float operacion = 1; float i = 1; //ELEVAMOS, SACAMOS FACTORIAL, DIVIDIMOS Y SUMAMOS PARA OBTENER EL RESULTADO while(i <= b){ a = pow (a,i); for (int z = 1; i <= b; z++){ operacion = operacion*z; division = a / operacion; suma = division+suma; i++; } } return suma; } int x; //VARIABLES GLOBALES DE TIPO ENTERO int n; int main(){ gotoxy(6,4); cprintf("Yo puedo resolver sigma"); textcolor(15); gotoxy(24,6); cprintf("Ingresa X: "); cin >> x; textcolor(15); gotoxy(24,8); cprintf("Ingresa N: "); cin >> n; textcolor(15); gotoxy(24,10); cprintf("El resultado es: "); cout << sigma(x, n); getch(); return 0; }
En cada vuelta de la línea 16 a la línea 21 va aumentando todas las operaciones, x elevado a la i, factorial de i!, hecho esto divide y por último suma, tal y como lo describe el problema, pero el resultado debe ser 5.33333 y mi programa da 3.33333 si pueden ver mi código y ver cual es el problema, les agradecería mucho si me brindaran la solución porfavor! Muchísimas gracias por leer!