Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 계열 1 + x/1 + x^2/2 + x^3/3 + .. + x^n/n의 합계

<시간/>

이 문제에서는 수학적 급수를 나타내는 두 개의 숫자 X와 n이 제공됩니다. 우리의 임무는 시리즈 1 + x/1 + x^2/2 + x^3/3 + .. + x^n/n의 합을 찾는 프로그램을 만드는 것입니다.

문제를 이해하기 위해 예를 들어 보겠습니다.

입력

x = 2 , n = 4

출력

설명 -

sum= 1 + 2/1 + (2^2)/2 + (2^3)/3 + (2^4)/4
   = 1 + 2 + 4/2 + 8/3 + 16/4
   = 1 + 2 + 2 + 8/3 + 4
   = 9 + 8/3
   = 11.666.

간단한 솔루션은 시리즈를 만들고 기본 값 x와 범위 n을 사용하여 합을 찾는 것입니다. 그런 다음 합계를 반환합니다.

예시

솔루션의 작동을 설명하는 프로그램,

#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
double calcSeriesSum(int x, int n) {
   double i, total = 1.0;
   for (i = 1; i <= n; i++)
   total += (pow(x, i) / i);
   return total;
}
int main() {
   int x = 3;
   int n = 6;
   cout<<"Sum of the Series 1 + x/1 + x^2/2 + x^3/3 + .. + x^"<<n<<"/"<<n<<" is "<<setprecision(5)   <<calcSeriesSum(x, n);
   return 0;
}

출력

Sum of the Series 1 + x/1 + x^2/2 + x^3/3 + .. + x^6/6 is 207.85