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

C++ 41제] vector 사용, 1 - 2 + 4 ... - 46 + 56의 결과값을 구하시오.

by 건티 2022. 6. 10.
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; //vector 변수를 선언한다. 
   int i,j;//증가값 및 vector 인덱스 변수 
   int sw;//부호 변수 
   int Sum;//합 변수 
 
   //수열 값을 vector 변수에 입력한다.
   sw=1;
   j=0;
   for(i=1;i<=56;i+=j)
   {
      v.push_back(i*sw);
      j++;
      sw*=-1;
   }
   //합을 구한다. 
   Sum=accumulate(v.begin(),v.end(),0);

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

   return 0;
}

 

참고풀이 결과]

 

 

 

 

 

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

 

반응형

댓글