320x100
package TEST;
// 1000000 이하의 피보나치 수열 ( N 번째 항이 N -현되는 수열, 시 1 번째 항과 N - 2 번째 항으로 표작은 1,1,2,3,5,8,...) 의 짝수 항들의 합을 구한다
public class Test2 {
public static void main(String[] args) {
// 정수 리밋 설정
int limit =1000000;
// 나중에 출력할때 써야함 sum 아니고 c로 해도 무방함
int sum = 0;
// 피보나치니까 숫자 2개가 필요함 그렇게 해서 sum이 짝수 가 나오게 해야함
int a = 1;
int b = 1;
// 백만보다 작으면 이 루트 계속 돌려야하는 반복문
while(b <= limit) {
// 이거는 2로 나눴을때 0이 되면 짝수라는 뜻이다.
if (b % 2 == 0) {
// 이렇게 해서 짝수면 썸에 b값을 더함 그렇게하면 계속 짝수만 더해짐
sum += b;}
//피보나치 계속 생성해서 진행함 . whlie 루프 돌리는거임 근데 더해지는 값은 계속 진행됨 넘어간게 a로 넘어가니까 a도 계속 늘어나는거 이해 꼭 해야함.
int c = a+b;
a = b;
b = c;
}
System.out.println("리밋의 짝수의 합" + sum);
}
}
// 피보나치 이해 안갈때 이거 이해하면 됨 . 자바에서 선언된 변수를 이해하는게 중요한것같다 . 약간 빌려오는 느낌이라고 생각하면됨
//1. 첫 번째 반복:
// • c = a + b = 1 + 1 = 2
// • a = b = 1
// • b = c = 2
// • 결과: a = 1, b = 2
// 2. 두 번째 반복:
// • c = a + b = 1 + 2 = 3
// • a = b = 2
// • b = c = 3
// • 결과: a = 2, b = 3
// 3. 세 번째 반복:
// • c = a + b = 2 + 3 = 5
// • a = b = 3
// • b = c = 5
// • 결과: a = 3, b = 5
// 4. 네 번째 반복:
// • c = a + b = 3 + 5 = 8
// • a = b = 5
// • b = c = 8
// • 결과: a = 5, b = 8
// 5. 다섯 번째 반복:
// • c = a + b = 5 + 8 = 13
// • a = b = 8
// • b = c = 13
// • 결과: a = 8, b = 13
반응형
반응형
'코딩 > JAVA' 카테고리의 다른 글
자바 숫자 N 입력 하여 * 찍기 (0) | 2024.08.20 |
---|---|
자바 숫자 N 입력한 뒤 피라미드로 별(*) 찍기 (0) | 2024.08.19 |