문제해석
입력 받은 수의 맨 앞자리와 자리수를 곱해서 나온 값을 다시 해당 함수에 넣어서 반복하는 문제이다.
계속 반복하여 수행하다 계속 동일한 결과가 나온다면 입력 받은 수를 FA수라고 한다.
코드
문제 풀이
계속 반복되는 return 값을 얻기위해 재귀함수를 이용하였다.
main부분은 간단하게 x를 입력받고 출력하는 부분만 있으며 재귀함수인 recur함수는 먼저 인수 a의 맨 앞자리를 추출하기 위해 string으로 변환시켜 주었고 계산은 s[0]와 문자열의 길이를 곱하는 식으로 계산을 하였다.
만약 인수 a와 곱한 결과가 같다면 "FA"를 return하고 아니라면 다시 recur함수를 호출하여 연산을 계속 하도록 하였는데 여기서 "NFA"를 return해주는 부분이 없는 이유는 모든 자연수는 결국 FA가 되기 때문에 NFA가 출력되는 경우는 없기 때문이다.
'Koala - 6기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 11719번: 그대로 출력하기2 (0) | 2022.04.08 |
---|---|
[백준/Python]9226번: 도깨비말 (0) | 2022.04.03 |
[백준/python] 3181번 줄임말 만들기 (0) | 2022.04.03 |
[백준/c++] 11931번: 수 정렬하기 4 (0) | 2022.04.03 |
[백준/python] 2947번 나무 조각 (0) | 2022.04.03 |