Baekjoon Online Judge
4641번: Doubles
2~15개의 서로 다른 자연수로 이루어진 리스트가 있을 때, 이들 중 리스트 안에 자신의 정확히 2배인 수가 있는 수의 개수를 구하여라. 예를 들어, 리스트가 "1 4 3 2 9 7 18 22"라면 2가 1의 2배, 4가 2의
www.acmicpc.net
[문제]
2~15개의 서로 다른 자연수로 이루어진 리스트가 있을 때, 이들 중 리스트 안에 자신의 정확히 2배인 수가 있는 수의 개수를 구하여라.
예를 들어, 리스트가 "1 4 3 2 9 7 18 22"라면 2가 1의 2배, 4가 2의 2배, 18이 9의 2배이므로 답은 3이다.
[입력]
입력은 여러 개의 테스트 케이스로 주어져 있으며, 입력의 끝에는 -1이 하나 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 2~15개의 서로 다른 자연수가 주어진다. 각 자연수는 100보다 작으며, 리스트의 끝은 0으로 판별한다(0은 리스트에 속하지 않는다).
[출력]
각 테스트 케이스마다 한 줄에 걸쳐 정답을 출력한다.
[코드]
#include <iostream>
using namespace std;
int main()
{
int n;
while (1)
{
int cnt = 0, a[100] = { 0 };
for (int i = 0; i < 16; i++)
{
cin >> n;
if (n == -1)
return 0;
a[n] = 1;
if (n == 0)
break;
}
for (int j = 1; j < 50; j++)
{
if (a[j] == 1 && a[j * 2] == 1)
cnt++;
}
printf("%d\n", cnt);
}
return 0;
}
자잘한 실수를 많이 해서 여러 번 시도한 후 성공했다.
다른 사람들은 주로 vector를 사용한 것 같다.
'Baekjoon > C++' 카테고리의 다른 글
[C++][BOJ/백준] 11109 괴짜 교수 (2) | 2024.03.12 |
---|---|
[C++][BOJ/백준] 1568 새 (0) | 2024.03.10 |
[C++][BOJ/백준] 10874 이교수님의 시험 (0) | 2024.03.08 |
[C++][BOJ/백준] 11931 수 정렬하기 4 (1) | 2024.03.06 |
[C++][BOJ/백준] 9455 박스 (0) | 2024.03.03 |