Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 |
29 | 30 |
Tags
- HTTP
- AWS
- 자료구조
- CI/CD
- 분할정복
- 브루트포스
- 그리드 알고리즘
- github action
- 다이나믹 프로그래밍
- BFS
- 다이나믹프로그래밍
- Spring
- 자바
- TCP
- 역방향 반복자
- GIT
- 도커
- 컴퓨터 네트워크
- SQL
- 그리드
- 스프링
- 백준
- 재귀
- 분할 정복
- 알고리즘
- 트리
- dfs
- 이분탐색
- 그래프
- 순열
Archives
- Today
- Total
코딩성장스토리
백준문제 4673번 문제풀이 본문

https://www.acmicpc.net/problem/4673
4673번: 셀프 넘버
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,
www.acmicpc.net
입력
입력은 없다.
출력
10,000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 증가하는 순서로 출력한다.
#include <iostream>
using namespace std;
int main() {
int d[100000] = {0}, sum;//생성자가 들어갈 공간
for (int i = 1; i < 10000; i++) {
if (d[i] == 0) //생성자가 없으면 출력
cout << i << '\n';
sum = 0;
sum += i;
int a = i; //각 자릿수 입력받을 변수 선언
while (a) { //각 자릿수 더하기
sum += a % 10;
a = a / 10;
}
d[sum] = 1; //생성자가 들어가 있으면 1을 넣어서 생성자가 있다고 표시
}
return 0;
}
'백준 코딩' 카테고리의 다른 글
백준 1018번:체스판 다시 칠하기 (0) | 2021.09.24 |
---|---|
백준 9020번:골드바흐의 추측 (에라토스테네스의 체) (0) | 2021.09.23 |
백준 2581번 :소수 (0) | 2021.09.23 |
백준 1011번 fly me to the alpha (0) | 2021.09.23 |
백준 8958번 :OX 퀴즈 (배열) (0) | 2021.09.18 |