출처 : 반크_세계유산 석굴암
문제]
임의의 정수를 입력하여 1에서 부터 임의의 수까지 중 조건에 맞게 출력하는 프로그램을 작성하시오.
조건)
1. 4의 배수를 출력하시오.
2. 4의 배수 중 100의 배수는 출력하지 마시오.
3. 4의 배수 중 400의 배수는 출력하시오.
4. 한라인에 10개씩 일정한 간격으로 출력하시오.
5. 임의의 정수 N은 400<=N<=2147483647의 범위로 하시오.
참고풀이]
#include <iostream>
#include <vector>
#include <iomanip> //setw()
using namespace std;
int JariSu(int k)
{
int x;//자리수 변수
int y;//입력수까지 증가할 변수
for(x=y=1;y<k;y*=10) x++;
return x;
}
int main()
{
vector<int> v; //vector 변수를 선언한다.
int N;//입력변수
int i;//증가값 및 vector 인덱스 변수
int J;//일정한 간격으로 출력할 변수
//400<=N<=2147483647의 범위의 수를 입력받는다.
cout << "400이상의 정수를 입력하시오 : ";
cin >> N;
if(N>=400 && N<=2147483647)
{
//조건에 맞는 수를 vector 변수에 입력한다.
for(i=1;i<=N;i++)
if((i%4==0 && i%100!=0) || i%400==0)
v.push_back(i);
//결과 출력
J=JariSu(N);
for(i=0;i<v.size();i++)
{
cout<<setw(J);
if((i+1)%10) cout << v[i];
else cout << v[i] << endl;
}
}
return 0;
}
참고풀이 결과]
대한민국의 아름다운 영토, 독도의 겨울
'프로그램 > C++ 1000제' 카테고리의 다른 글
C++ 42제] vector 사용, 1 + 1 + 2 ... + 34 + 55의 결과값을 구하시오. (0) | 2022.06.10 |
---|---|
C++ 41제] vector 사용, 1 - 2 + 4 ... - 46 + 56의 결과값을 구하시오. (0) | 2022.06.10 |
C++ 39제] vector 사용, 문제와 같은 숫자 마름모를 출려하시오. (0) | 2022.06.08 |
C++ 38제] vector 사용, 문제와 같은 역 직각삼각형을 출력하시오. (0) | 2022.06.08 |
C++ 37제] vector 사용, 문제와 같이 숫자 삼각형을 출력하시오. (0) | 2022.06.07 |
댓글