https://www.acmicpc.net/problem/1110
문제에서 제시한 내용대로 N이 일의 자리면 10을 곱한다.
그 다음 (일의자리*10) 과 (십의자리+일의자리)를 더하여 새로운 수를 만든다.
이 과정을 처음 N과 같아질 때까지 반복한다.
C
더보기
더보기
#include <stdio.h>
int main() {
int n; scanf("%d", &n);
int num;
if(n < 10) num = n*10 + n;
else num = ((n % 10) + (n / 10))%10 + ((n%10) * 10);
int cnt = (num == 0) ? 0 : 1;
while(1){
num = (((num % 10) + (num / 10))%10) + ((num%10) * 10); // (일의자리 + 십의자리)%10 + 일의자리*10
cnt++;
if(num == n) break;
}
printf("%d", cnt);
}
Python
더보기
더보기
n = int(input())
if n < 10: newNum = (n*10) + n
else: newNum = (n%10)*10 + (((n // 10) + (n%10))%10)
cnt = 1
while newNum > 0:
cnt += 1
newNum = (newNum%10)*10 + (((newNum // 10) + (newNum%10))%10)
if newNum == n: break
print(cnt)
'구현, 수학' 카테고리의 다른 글
[백준] 1267. 핸드폰 요금 풀이 (0) | 2025.02.02 |
---|---|
[백준] 1193. 분수찾기 풀이 (0) | 2025.02.02 |
[백준] 1094. 막대기 풀이 (0) | 2025.02.02 |
[백준] 1085. 직사각형에서 탈출 풀이 (0) | 2025.02.02 |
[백준] 1011. Fly me to the Alpha Centauri 풀이 (0) | 2025.02.02 |