2020년 07월 02일
재귀(Recursive) 함수
팩토리얼(!)의 가장 기본적인 형태는 아래처럼 for 구문으로 구현이 가능합니다.
for (long i = startNum ; i >= 1 ; i--) {
calcNum *= i ;
}
이걸 재귀방식으로 바꾼 코드. 재귀 함수의 가장 간단하고, 대표적인 예제
public void displayFactorials() {
System.out.printf("5! = %d\n", factorial(5)) ;
}
public long factorial(long number) {if (number <= 0) {
return 1 ;
}
return number * factorial(number - 1) ;}
또 다른 예제로는 피보나치 수열도 있습니다.
public void displayFibonacci() {
for (int incNum = 0 ; incNum <= 10 ; incNum++) {
System.out.printf("피보나치 수열과 결과값 %d = %d\n", incNum, fibonacci(incNum)) ;
}
}
public long fibonacci(long seqNum) {
if ((seqNum == 0) || (seqNum == 1)) {
return seqNum ;
}
else {
return fibonacci(seqNum - 1) + fibonacci(seqNum - 2) ;
}
}
# by | 2020/07/02 14:04 | JavaAndroid | 트랙백(1)
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 파이썬 터틀그래픽 코흐 곡선 그리기
Koch 곡선은 카오스 이론 중에서 해안가 지형을 설명할때 나오곤 합니다. 이 코드에서는 재귀(recursive) 함수가 등장합니다. 결과는 이렇게 나옵니다. ...more