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

C++ 42제] vector 사용, 1 + 1 + 2 ... + 34 + 55의 결과값을 구하시오.

by 건티 2022. 6. 10.
728x90

출처 : 반크_세계유산 석굴암

 

문제]

피보나치 수열인 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55의 결과값을 구하는 프로그램을 작성하시오.

 

참고풀이]

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

int main()
{
   vector<int> v; //vector 변수를 선언한다.
   int a,b,c;//수열 변수 
   int i;//vector 인덱스 변수 
   int Sum;//합 변수 
 
   //수열 값을 vector 변수에 입력한다.
   a=0;
   b=1;
   v.push_back(b);
   while(1)
   {
      c=a+b;
      if(c>55) break;
      v.push_back(c);
      a=b;
      b=c;
   }
   //합을 구한다. 
   Sum=accumulate(v.begin(),v.end(),0);

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

   return 0;
}

 

참고풀이 결과]

 

 

 

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

 

반응형

댓글