자바:알고리즘-정수 곱 하기 n!

2879 단어 자바 알고리즘
수학 공식:n!=1*2*3...(n-2)*(n-1)*n 응용 분야:감마 함수 와 배열 조합
재 귀적 실현 코드:
public static long fac(int n){
        if(n == 0 || n ==1) 
        	return 1;
        else 
        	return n*fac(n-1);
}

분석:n>1 시 이 함 수 는 return*fact(n-1)을 호출 할 때마다 스 택 밑 에 누 르 는 것 을 중단 하고 fac(n-1)를 n=1 로 되 돌 릴 때 까지 반복 적 으로 호출 합 니 다.반환 값 은 순서대로 덮어 쓰 고 마지막 으로 n*fac(n-1)를 되 돌려 줍 니 다.이전 순환 에서 할당,fac(n-1)=(n-1)*(n-2)*(n-3)*(n-4)*...1 즉 마지막 반환 값 은 n 입 니 다!
for 순환 으로 구현:
public static long fac(int n){
	long fac = 1;
	for (i=n;n>1;i--){
		fac = n*(n-1);
	}
	return fac;
}

좋은 웹페이지 즐겨찾기