- 풀이 1
import java.util.Scanner;
public class CodeUp1620 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int iVal = sc.nextInt();
while(true){
int sum = 0;
while (iVal > 0) {
sum += iVal % 10;
iVal /= 10;
}
if (sum < 10) {
System.out.println(sum);
break;
}
iVal = sum;
}
}
}
- 풀이 2
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int result = 0;
do {
result = 0;
while (num > 0) {
result += num % 10;
num /= 10;
}
num = result;
}while(num / 10 > 0);
System.out.println(result);
}
//중첩 반복문 안에서 조건절과 break를 쓰지 않고 do-while문 활용
- 풀이 3 (좋지 않은 예시)
public class codeUp1620 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int sum = 0;
while(true){
while(num > 0){
sum += (num % 10);
num /= 10;
}
if(String.valueOf(sum).length() != 1){
num = sum;
sum = 0;
}
else{
break;
}
}
System.out.println(sum);
}
}