C++ 로 제곱의 합 계산하기

C++Beginner
지금 연습하기

소개

이 랩에서는 두 가지 다른 접근 방식을 사용하여 C++ 프로그램으로 1^2 + 3^2 + 5^2 + ... + n^2 수열의 합을 구하는 방법을 배웁니다. 이 과정을 이해할 수 있도록 단계별로 안내해 드리겠습니다.

새 C++ 파일 생성

먼저, 새로운 C++ 파일을 생성해야 합니다. 터미널을 열고 ~/project 디렉토리로 이동합니다. 여기에서 main.cpp라는 새 파일을 생성합니다.

cd ~/project
touch main.cpp

첫 번째 방법으로 코드 작성

여기서는 첫 번째 방법을 사용하여 프로그램을 작성합니다. 이 방법에서는 for 루프를 사용하여 n 까지의 홀수를 반복하고 해당 제곱을 sum 변수에 더합니다.

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum=0;
    for(int i=1;i<=n;i+=2){
      sum+=(i*i);
    }
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

코드 설명:

  • 먼저, 필요한 헤더 파일을 포함합니다.
  • 그런 다음 정수 n을 입력으로 받아 수열의 합을 반환하는 pattern_sum이라는 함수를 작성합니다.
  • 함수 내부에서 sum이라는 변수를 0 으로 초기화합니다.
  • 1 부터 n 까지 2 씩 증가하는 for 루프를 사용하여 홀수를 구하고, 해당 제곱을 sum 변수에 더합니다.
  • 마지막으로, 합계를 반환합니다.
  • main() 함수에서 사용자에게 원하는 항의 개수를 입력하도록 요청하고 값을 num 변수에 저장합니다.
  • 사용자 입력으로 pattern_sum() 함수를 호출하여 수열의 합을 출력합니다.

두 번째 방법으로 코드 작성

여기서는 두 번째 방법을 사용하여 프로그램을 작성합니다. 이 방법에서는 수학 공식을 사용하여 수열의 합을 구합니다.

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum;
    sum = ( ((2 * n) - 1) * (((2 * n) - 1)+ 1) * ( ( 2 * ((2 * n) - 1) ) + 1 ) ) / 6;
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

코드 설명:

  • 먼저, 필요한 헤더 파일을 포함합니다.
  • 그런 다음 정수 n을 입력으로 받아 수열의 합을 반환하는 pattern_sum이라는 함수를 작성합니다.
  • 함수 내부에서 수학 공식을 사용하여 수열의 합을 구하고 이를 sum 변수에 저장합니다.
  • 마지막으로, 합계를 반환합니다.
  • main() 함수에서 사용자에게 원하는 항의 개수를 입력하도록 요청하고 값을 num 변수에 저장합니다.
  • 사용자 입력으로 pattern_sum() 함수를 호출하여 수열의 합을 출력합니다.

main.cpp 전체 코드

다음은 수열의 합을 구하기 위해 두 번째 방법을 사용하는 main.cpp 의 전체 코드입니다.

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum;
    sum = ( ((2 * n) - 1) * (((2 * n) - 1)+ 1) * ( ( 2 * ((2 * n) - 1) ) + 1 ) ) / 6;
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

요약

이 랩에서는 for 루프를 사용하고 수학 공식을 사용하는 두 가지 다른 접근 방식을 사용하여 수열 1^2 + 3^2 + 5^2 + ... + n^2 의 합을 구하는 방법을 배웠습니다. 또한 이 문제를 해결하기 위해 C++ 프로그램을 작성하는 방법도 다루었습니다. 이제 C++ 을 사용하여 수열의 합을 구하는 방법에 대한 명확한 이해를 갖게 되셨을 것입니다.