JOO's note
피보나치수열 본문
[4-11] 피보나치(Fibonnaci) 수열(數列)은 앞을 두 수를 더해서 다음 수를 만들어 나가
는 수열이다. 예를 들어 앞의 두 수가 1과 1이라면 그 다음 수는 2가 되고 그 다음 수는
1과 2를 더해서 3이 되어서 1,1,2,3,5,8,13,21,... 과 같은 식으로 진행된다. 1과 1부터
시작하는 피보나치수열의 10번째 수는 무엇인지 계산하는 프로그램을 완성하시오.
[연습문제]/ch4/Exercise4_11.java
public class Exercise4_11 {
public static void main(String[] args) {
// Fibonnaci 수열의 시작의 첫 두 숫자를 1, 1로 한다.
int num1 = 1;
int num2 = 1;
int num3 = 0; // 세번째 값
System.out.print(num1+","+num2);
for (int i = 0 ; i < 8 ; i++ ) {
// (1) 로직작성
}
} // end of main
} // end of class
[정답]
num3 = num1 + num2; // 세 번째 값은 첫 번째와 두 번째 값을 더해서 얻는다.
System.out.print(","+num3); // 세 번째 수열 출력
num1 = num2; // 두 번째 수열을 첫 번째 값으로 한다.
num2 = num3; // 세 번째 수열을 두 번째 값으로 한다.
/* 피보나치 수열의 10번째 항까지의 합을 구하시오.*/
[정답]
public class Exam4_11
{
public static void main(String[] args)
{
/* 피보나치 수열의 10번째 항까지의 합을 구하시오.*/
int a=1;
int b=1;
int c=a+b;
long sum=2;
for(int i=3; i<=10; i++){
sum+=c;
a=b;
b=c;
c=a+b;
}
System.out.println("sum="+sum); // 10번째 항까지의 합은 143
}
}
'Back-End > 알고리즘' 카테고리의 다른 글
회문수(palindrome) (0) | 2015.01.08 |
---|---|
문자열이 숫자인지 판별 (0) | 2015.01.08 |
문자열이 아닌 숫자에서 각자리의 숫자 뽑아오기 (0) | 2015.01.08 |
charAt(i)와 char의 문자코드값 (0) | 2015.01.08 |
for문 > while문으로 (0) | 2015.01.08 |