728x90
https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98
파보나치 수열 이란 위키백과에 검색해보면 수학에서, 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다. 이라고 나옵니다.
간단하게 만들어 보았습니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a = 1;
int b = 1;
int c;
System.out.print(a+" ");
System.out.print(b+" ");
for(int i=2; i<n; i++){
c = a+b;
System.out.print(c+" ");
a = b;
b = c;
}
}
}
n에 10을 넣고 결과 값을 보면 1 1 2 3 5 8 13 21 34 55 가 나옵니다.
풀이
파보나치 수열에서의 필요한 변수는 3개입니다.
a,b,c
파보나치 수열은 첫 번째 수와 두 번째 수를 더해서 세 번째 수를 만들어냅니다.
그러면 a=1, b=1 c=a+b 가 됩니다.
우리는 n만큼의 파보나치 수가 출력되기를 바랍니다.
이미 a와 b는 정해져있으므로 바로 출력해줍니다. 그러면 i=0이 아닌 2부터 반복하게 됩니다.
그렇게 반복하면서 c를 만들어 출력합니다. c=a+b
그 다음 a에 b를 넣고 b에 c를 넣고 c를 다시 a+b로 만들어 출력합니다.
728x90
'알고리즘 with JAVA' 카테고리의 다른 글
백준 10828번 문제 - 스택 (JAVA) (0) | 2022.05.16 |
---|---|
JAVA 소수 구하기 - 에라토스테네스의 체 (0) | 2021.08.08 |
문자열 압축 알고리즘 - 자바 .with 주의사항 (0) | 2021.06.07 |
가장 짧은 문자의 거리 값 찾는 알고리즘 - 자바 (0) | 2021.06.07 |
자바 문자열 뒤집어서 출력하기 (0) | 2021.05.30 |