5948
#include <stdio.h>
int main(void){
// 숫자 입력
int num = 0;
scanf("%d", &num);
// 숫자가 1~9999까지 방문 유무를 저장하는 배열
int visited[10000] = {0};
int count = 0;
// 만약 해당 숫자가 아직 방문 전이면 반복
while(!visited[num]){
visited[num] = 1;
count++;
// 중간 숫자, 중간 숫자의 제곱 구하기
int middle = (((num/100)%10)*10) + ((num/10)%10);
int square = middle * middle;
// 현재 num에 중간 숫자의 제곱값인 square 넣기
num = square;
}
// 카운트 횟수 출력
printf("%d", count);
return 0;
}

'백준' 카테고리의 다른 글
| [ 백준 / C ] 1874번 : 스택 수열 (0) | 2025.11.26 |
|---|---|
| [ 백준 / C ] 9012번 : 괄호 (0) | 2025.11.25 |
| [ 백준 / C ] 9093번 : 단어 뒤집기 (0) | 2025.11.21 |
| [ 백준 / C ] 10828번 : 스택 (0) | 2025.11.21 |
| [ 백준 / C ] 5635번 : 생일 (0) | 2025.11.20 |