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 나오네요
댓글 달기