본문 바로가기
코딩/JAVA

자바 반복문 테스트 1000000 이하 짝수의 합 구하기

by 크르르 2024. 8. 19.
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