백준 알고리즘 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
import java.util.Scanner;
class Function {
static int f(int n) {
int a;
int sum = 0;
while(true) {
if(n == 0) {
return sum;
}
else {
a = n % 10;
n -= a;
n /= 10;
sum += a;
}
}
}
static int d(int x) {
int result2;
return result2 = x + Function.f(x);
}
}
public class Main {
public static void main(String[] args) {
int[] arr = new int[10000];
for(int i = 0; i < 10000; i++) {
arr[i] = Function.d(i);
}
boolean selfNumber = false;
for(int i = 0; i < 10000; i++) {
if(selfNumber) {
System.out.println(i - 1);
selfNumber = false;
}
for(int j = 0; j < 10000; j++) {
if(i != arr[j]) {
selfNumber = true;
continue;
}
else if(i == arr[j]) {
selfNumber = false;
break;
}
}
}
}
}
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 7568 풀이 [자바, Java] (0) | 2020.07.30 |
---|---|
백준 알고리즘 1065 풀이 [자바, Java] (0) | 2020.07.06 |
백준 알고리즘 4344 풀이 [자바, Java] (0) | 2020.07.02 |
백준 알고리즘 10817 풀이 [자바, Java] (0) | 2020.06.22 |
백준 알고리즘 2588 풀이 [자바, Java] (0) | 2020.06.18 |