c언어 질문인데 해독 한번만 해주세요 ㅠㅠ 부탁드립니다.
글쓴이: rg5668 / 작성시간: 목, 2021/04/22 - 9:06오후
#include <stdio.h>
int refunc(int i) {
printf("%d",i);
if(i < 1) {
return 2;
}
else {
return (3*refunc(i-1)+1);
}
}
int main() {
int n;
n = refunc(7);
printf("\n");
printf("%d\n",n);
}
결과가 7 6 5 4 3 2 1 0
5467
재귀함수인거는 알겠는데 refunc에서 int 7값을 보냈는데 리턴 값만 계산해서 보내주면 되는거 아닌가봐요 ㅠㅠ 결과 값이 어떻게 저렇게 나오는지 설명 제발 부탁드립니다ㅠㅠㅠㅠ
Forums:


점화식 보세요.
점화식 보세요.
여기보단 백준 사이트가 더 나을실 것 같네요
https://www.acmicpc.net/
여기에 질문해 보세요
저도 몰랐다가 풀었습니다
팩토리얼 원리랑 비슷해요
팩토리얼이 n * fact(n) 일 때
5가 들어오면 1x2. 2x3. 6x4. 24x5 120 나오잖아요
이거는 마지막 0일 때 리턴이 2니깐
2x3+1 7x3+1 22x3+1...
하면 5467 나오네요
댓글 달기