반응형
https://www.acmicpc.net/problem/4673
각 자리의 수와 그 숫자를 더해서 만든 수는 생성자가 있는 경우이므로 표시를 해주고 표시가 된 숫자들을 빼고 출력해주면된다.
문제 풀이
1. bool 형 배열 만들고 false로 초기화
2. 1부터 10,000까지 각 자리수를 더해주고 그 수를 더한 배열 index에 true를 넣어줌
3. bool 형 배열 중 false인 것을 출력
전체코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <iostream>
using namespace std;
int main(){
bool check[10001] = {0};
int sum;
int a;
for (int i = 1; i < 10001;i++){
sum = 0;
a = i;
while(a !=0){
sum += a % 10; // 각 자리 수를 합함
a /= 10;
}
if(i+sum < 10001){
// 생성자가 있는 곳에 true 표시
check[i + sum] = true;
}
}
for (int i = 1; i < 10001;i++){
if(!check[i]){ // 생성자 없는 수 출력
cout << i << '\n';
}
}
return 0;
} // 11 min
|
cs |
체감 난이도 | 걸린 시간 | 참고 | 사용 알고리즘 |
하 | 11min | x | 브루트 포스 (brute force) |
yea!
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 9663 N-Queen C++ [컴공과고씨] (0) | 2022.03.29 |
---|---|
백준 1065 한수 c++ [컴공과고씨] (0) | 2022.03.29 |
백준 2798 블랙잭 c++ [컴공과고씨] (0) | 2022.03.29 |
백준 2309 일곱 난쟁이 c++ [컴공과고씨] (0) | 2022.03.28 |
백준 1620 나는야 포켓몬 마스터 이다솜 c++ [컴공과고씨] (0) | 2022.03.28 |