Algorithm/백준

[백준] 4673번 : 셀프 넘버

pongic 2022. 9. 25. 19:38
반응형

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

 

셀프 넘버는 1부터 10000까지 검사한 뒤, 생성자로 하는 수가 있으면 그 수를 출력하지 않는 것이다.

 

셀프넘버를 찾기위한 반복문 구성 Ex. d(75) = 75 + 7 + 5 = 87이 나오도록 구성해야한다.

각 자리수를 더해주기 위해서 나눗셈 단위로 number을 줄여 갈 것이기 때문에 number가 0보다 클 때까지 반복한다.

 

첫 째 자리수를 구하기 위해 % 연산자를 사용하여 sum에 다시 더해주고 이후 / 10만큼 줄인다.

이 때 return되는 sum은 생성자가 있는 수이기 때문에 출력되면 안된다. 그래서 boolean타입의 배열을 만들어 true를 받도록 하고 false만 출력하게끔 만든다.

 

완성 코드

 

반응형