java
피보나치 수열은 각 숫자가 앞의 두 숫자의 합과 같은 수열입니다. 자바에서는 전통적으로 0과 1로 시작합니다:
0, 1, 1, 2, 3, 5, 8, 13, 21, …
수학적 흥미 외에도 피보나치 수열은 알고리즘 분석에 자주 사용됩니다. 예를 들어 재귀 프로시저의 실행 시간 추정이나 최대공약수 계산 등에 활용됩니다.
// for 루프 사용
public class FibonacciExample {
public static void main(String[] args) {
int maxNumber = 10; // 항의 개수
int previous = 0;
int current = 1;
System.out.print("피보나치 수열 " + maxNumber + "개: ");
for (int i = 1; i <= maxNumber; i++) {
System.out.print(previous + " ");
int next = previous + current;
previous = current;
current = next;
}
}
}
출력:
피보나치 수열 10개: 0 1 1 2 3 5 8 13 21 34
로직:
previous = 0, current = 1로 초기화maxNumber번 루프 돌며 previous 출력 후 값 업데이트// while 루프 사용
public class FibonacciWhileExample {
public static void main(String[] args) {
int maxNumber = 10;
int previous = 0;
int current = 1;
System.out.print("피보나치 수열 " + maxNumber + "개: ");
int i = 1;
while (i <= maxNumber) {
System.out.print(previous + " ");
int next = previous + current;
previous = current;
current = next;
i++;
}
}
}
출력:
피보나치 수열 10개: 0 1 1 2 3 5 8 13 21 34
import java.util.Scanner;
public class FibonacciUserInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("항의 개수를 입력하세요: ");
int maxNumber = scanner.nextInt();
int previous = 0;
int current = 1;
System.out.print("피보나치 수열 " + maxNumber + "개: ");
for (int i = 1; i <= maxNumber; i++) {
System.out.print(previous + " ");
int next = previous + current;
previous = current;
current = next;
}
scanner.close();
}
}
로직: 동일한 반복 로직이지만 항의 개수를 사용자로부터 입력받습니다.
// 재귀 구현
public class FibonacciRecursion {
public static int fibonacci(int n) {
if (n == 0) return 0;
if (n == 1 || n == 2) return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}
public static void main(String[] args) {
int maxNumber = 10;
System.out.print("피보나치 수열 " + maxNumber + "개: ");
for (int i = 0; i < maxNumber; i++) {
System.out.print(fibonacci(i) + " ");
}
}
}
출력:
피보나치 수열 10개: 0 1 1 2 3 5 8 13 21 34
재귀 설명:
n == 0이면 0 반환; n == 1 || n == 2이면 1 반환fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)재귀는 수학적으로 깔끔하지만 큰 n에 대해 지수 시간이 소요됩니다. 성능이 중요한 코드에서는 메모이제이션이나 반복적 방법을 사용하세요.
java
농기계, 버스, 자동차의 전기 문서화에는 특별한 설계 니즈와 중요한 적응 사항이 있습니다. 따라서 의사결정, 문서화, 프로젝트 업데이트를 간소화하는 툴이 필수적입니다. 특수 차량, 운송, 자동차 프로젝트 작업 시 다음과 같은 상황을 겪게 됩니다. 사용 전선에 적합한 단자 및 씰 결정 호환되는 카운터파트 선택 단락 연결 감시 수정 지점 문서화 하네스 세그먼트별 주름관/튜브 직경 정의 각 전선 길이 정의 차량 구조 내 커넥터 위치 결정 프로젝트 내 컴포넌트 교체 및 문서 업데이트 신뢰성 있는 리포트 생성 직류 회로 치수 계산 검증
Java 8 질문과 답변은 다양한 자격증 시험과 취업 면접을 준비하는 학생과 전문가를 돕기 위해 특별히 설계되었습니다. 이 섹션에서는 샘플 면접 질문과 객관식 문제(MCQ), 그리고 적절한 설명이 포함된 답변 모음을 제공합니다. 번호 질문/답변 유형 1 Java 8 면접 질문 이 섹션에서는 답변이 박스 안에 숨겨진 Java 8 면접 질문 모음을 제공하여, 정답을 보기 전에 직접 풀어볼 수 있도록 했습니다. 2 Java 8 온라인 퀴즈 이 섹션에서는 정답과 설명이 포함된 Java 8 객관식 문제(MCQ) 모음을 단일 페