본문 바로가기

JAVA/Practice Q

Q10. 자연수 1부터 시작해서 모든 홀수와 3의 배수인 짝수를 더해 나간다. 그 합이 언제(몇을 더했을 때) 1000을 넘어서는지, 그리고 1000을 넘어선 값은 얼마가 되는지 계산하여 출력하는 프로그..

// ex. 1 3 5 6 7 9 11 12... 20을 넘어야한다고하면 7일때 22
// ex. 1 3 5 6 7 9 11 12... 50을 넘어야한다고하면 12일때 54

// 방법01. 문제 그대로 풀어보자구 (오 ㅇㅋㅇㅋ)

int sum = 0;
int x = 1;

for(x = 1; sum <= 50; x++) {

    if (x % 2 == 1 || (x % 3 == 0 && x % 2 == 0)) {

        sum += x;
    }

}
System.out.println("20을 넘어선 값 : " + (x - 1) );
System.out.println("그때의 값 : " + sum);

 

 

// 방법02. break를 거는건?

System.out.println("=========== 방법02 ===========");

int sum2 = 0;
int a = 1;

for(a = 1; ; a++) {

    if (a % 2 == 1 || (a % 3 == 0 && a % 2 == 0)) {

        sum2 += a;

        if (sum2 > 50) {
            break;

        }
    }
}
System.out.println("20을 넘어선 값 : " + (a) );
System.out.println("그때의 값 : " + sum2);