본문 바로가기
프로그램/C++ 1000제

C++ 27제] vector 사용, 수열 1 + 2 + 4 + ... + 56의 합을 구하시오.

by 건티 2022. 6. 1.
728x90

출처 : 반크_세계유산 고인돌

 

문제]

수열 1 + 2 + 4 + 7 + 11 + 16 + 22 + 29 + 37 + 46 + 56의 결과값을 구하는 프로그램을 작성하시오.

 

참고풀이]

#include <iostream>
#include <vector>
#include <numeric> //accumulate()
using namespace std;

int main()
{
   vector<int> v;
   int n;//수열 변수 
   int i;
   int Sum;

   //vector에 수열 1+2+4+7+11+16+22+29+37+46+56을 저장한다.
   n=1;//수열의 초기값 설정 
   i=0;//증가변수 
   while(n<56)
   {
      n+=i++;
      v.push_back(n);
   }

   //vector안의 수들의 합을 구한다.
   Sum=accumulate(v.begin(),v.end(),0);

   //결과출력
   for(i=0;i<v.size();i++)
      if((i+1)==v.size()) cout << v[i] << " = ";
      else cout << v[i] << " + ";
   cout << Sum << endl;

   return 0;
}

 

참고풀이 결과]

 

 

 

 

대한민국의 아름다운 영토, 독도의 봄

 

반응형

댓글