nCr 계산하는 코드에서요
물고기자리
2023.04.01
질문 제목 : #include stdio.h
int fa(int n, int r);
int main()
{
int n,r;
printf(n을 입력 :);
scanf(%d, &n);
printf(r을 입력 :);
scanf(%d, &r);
printf(%2dc%d = %d, n, r, fa(n,r));
printf(\n);
return 0;
}
int fa(int n, int r)
{
int i,j,k1,k2;
for(i=n;i=1;i--)
{
if(r==0)
return 1;
else
return (n-r+1)*fa(n,r-1)/r;
}
else
return (n-r+1)*fa(n,r-1)/r;질문 내용 : 저 코드에서
else
return (n-r+1)*fa(n,r-1)/r;
이부분이 이해가 안가는데(n-r+1)*fa(n,r-1)/r; 여기서 fa(n,r-1)/r는 자기자신 함수 호출하는건데
무한반복되는거 아닌가요??
재귀함수라고 들었는데 잘 이해가 가지않아서요..
n!
ㅡㅡㅡ
r! (n-r)! 공식은 이런데.. 왜(n-r+1)*fa(n,r-1)/r; 이렇게하는지 이해가 가지않습니다.. 고수님들 알려주세요