역수 수열 합 계산

C++Beginner
지금 연습하기

소개

이 랩에서는 일련의 합을 계산하는 C++ 프로그램을 작성하는 방법을 배웁니다. 우리가 다룰 일련의 합은 자연수의 역수의 제곱의 합입니다. 간단히 말해서, 이 프로그램은 1 + 1/2^2 + 1/3^3 + 1/4^4 + ... + 1/N^N 의 합을 계산합니다.

프로젝트 디렉토리에서 새 파일 생성

프로젝트 디렉토리에서 main.cpp라는 새 파일을 생성합니다.

touch ~/project/main.cpp

필요한 헤더 파일 추가

프로그램에 필요한 헤더 파일을 추가합니다. 이 프로그램에서는 iostreamcmath 헤더 파일이 필요합니다.

#include<iostream>
#include<cmath>
using namespace std;

findsum() 함수 작성

이 단계에서는 수열의 합을 계산하는 데 사용될 findsum() 함수를 정의합니다. 이 함수는 N 값을 입력으로 받아 수열의 합을 반환합니다.

double findsum(int N) {
    double sum = 0;
    for(int i=1; i<=N; i++) {
        sum += pow((double)1/i,i);
    }
    return sum;
}

위 코드에서는 각 항의 거듭제곱을 계산하기 위해 <cmath> 헤더 파일의 pow() 함수를 사용했습니다. 또한 정확한 값을 얻기 위해 double 데이터 형식을 사용하고 있습니다.

main() 함수 작성

이 단계에서는 정수 N 형태로 사용자로부터 입력을 받는 main() 함수를 작성합니다. 그런 다음 findsum() 함수를 호출하여 수열의 합을 계산합니다. 마지막으로 결과를 출력합니다.

int main() {
    int N;
    cout << "Enter the value of N: ";
    cin >> N;
    double sum = findsum(N);
    cout << "Sum of the series is: " << sum << endl;
    return 0;
}

프로그램 컴파일 및 실행

main.cpp 파일에 변경 사항을 저장하고 터미널에서 다음 명령을 실행합니다.

g++ main.cpp -o main && ./main

성공적인 컴파일 및 실행 후, 사용자에게 N 값을 입력하라는 메시지가 표시됩니다. N 값을 입력하면 프로그램은 수열의 합을 반환합니다.

main.cpp 파일의 전체 코드

#include <iostream>
#include <cmath>

using namespace std;

double findsum(int N) {
    double sum = 0;
    for(int i=1; i<=N; i++) {
        sum += pow((double)1/i,i);
    }
    return sum;
}

int main() {
    int N;
    cout << "Enter the value of N: ";
    cin >> N;
    double sum = findsum(N);
    cout << "Sum of the series is: " << sum << endl;
    return 0;
}

요약

이 랩에서는 수열의 합을 계산하는 C++ 프로그램을 작성하는 방법을 배웠습니다. 루프를 사용하여 모든 항을 반복하고 합산하여 수열의 합을 구했습니다. 또한 pow() 함수를 사용하여 각 항의 거듭제곱을 계산했습니다.