inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

재귀함수 답 질문

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

안녕하세요 강사님. 좋은 강의 잘 듣고 있습니다! 몇가지 궁금증이 생겨 질문드립니다. static int Factorial(int a) { if (a == 0) { return 1; } return (a * Factorial(--a)); } 제가 작성한 코드입니다. 정상적으로 실행은 됩니다만, 몇가지 사소한 궁금증이 있어서 올려봅니다. 1. a==0이 참일때 return 값을 1으로 주는 것보다 n==1이 참일때 return 값을 1로 주는게 더 효율적일까요?(루프를 한번 덜 돌까요?) 2. 강사님께서 if문의 조건식을 n<=1로 작성하셨던데 n==1이 아니고 n<=1로 설정하신 이유가 따로 있을까요? 3. factorial(n-1)부분을 전위 연산자(--a)로 먼저 처리하게 하였는데, 후위연산자를 사용하여 return (a*Factorial(a--))로 하면 return (a*Factorial(a))가 먼저 실행되고 a--가 실행되기 때문에 무한루프를 돈다고 이해했는데 맞을까요? 아니라면 혹시 다른 이유가 있을까요?

  • 재귀함수
  • factorial
  • C#
yudility 댓글 1 좋아요 0 조회수 319

인기 태그

인프런 TOP Writers

주간 인기글