문제) 백준 - 브루트 포스(Brute Force) - 분해합
-> www.acmicpc.net/problem/2231
1부터 n까지 완전 탐색을 수행한다. 만약 생성자를 찾을 경우, 그 즉시 반복문을 탈출한다.
C++ 소스 코드)
#include <iostream>
using namespace std;
int n, ans = 0;
//생성자 함수
int constructor(int a) {
int res = a;
while (a > 0) {
res += a % 10;
a = a / 10;
}
return res;
}
int main() {
//빠른 입출력
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 1; i <= n; i++) {
if (constructor(i) == n) {
ans = i;
break;
}
}
cout << ans << "\n";
return 0;
}
Python 소스 코드)
import sys
#빠른 입출력
N = int(sys.stdin.readline())
#생성자 함수
def constructor(num: int):
str_num = str(num)
new_num = num
for i in range(len(str_num)):
new_num += int(str_num[i])
return new_num
answer = 0
for i in range(N):
if constructor(i) == N:
answer = i
break
print(answer)
반응형
'PS(Problem Solving) > 백준_BOJ' 카테고리의 다른 글
[백준] 15917번 - 노솔브 방지문제야!! (C++) 문제 및 풀이 (0) | 2021.03.25 |
---|---|
[백준] 2798번 - 블랙잭 (C++/파이썬) 문제 및 풀이 (0) | 2021.03.18 |
[백준] 1707번 - 이분 그래프 (파이썬) 문제 및 풀이 (0) | 2021.03.12 |
[백준] 11725번 - 트리의 부모 (파이썬) (0) | 2021.03.12 |
[백준] 12865번 - 평범한 배낭 (파이썬, C++) (0) | 2021.03.11 |
댓글