순열 마지막 더한값 출력

canyi·2023년 6월 15일
0

java m1

목록 보기
14/40

문제

1 + (-2) + 3 + (-4)의 합이 100이 될 때까지 마지막으로 더해진 값을 출력합니다.


public class ex12_Permutation_plus_minus {
    public static void main(String[] args) {
        //변수 초기화
        int sum = 0;
        int sign = 1;
        int lastValue = 0;
        int count = 1;

        while (Math.abs(sum) <= 100) {  //Math.abs: 절대값
            lastValue = count * sign;   //count: 현재 순서  sign: 부호
            sum += lastValue;
            sign *= -1;                 //sign 변수는 다음 반복에서 부호가 바뀌도록 -1로 곱셈 연산을 수행
            count++;                    //변수는 다음 반복에서 다음 순서를 나타내기 위해 1을 증가시킴
        }

        System.out.println(lastValue);
    }
}

설명

  1. sum, sign, lastValue, count 변수를 초기화합니다.

  2. while 루프를 시작합니다. 루프는 Math.abs(sum) <= 100 조건이 만족될 때까지 반복됩니다.

  3. 루프 내부에서는 현재 순서에 따른 값을 계산하고 합을 업데이트합니다.
    lastValue 변수에는 count와 sign을 곱한 값을 저장합니다. count는 현재 순서를 나타내는 변수이며, sign은 숫자의 부호를 나타내는 변수입니다.
    sum 변수에는 lastValue를 더합니다. 합을 계속 업데이트하며 조건을 확인하기 위해 Math.abs 함수를 사용하여 절댓값을 취합니다.
    sign 변수는 다음 반복에서 부호가 바뀌도록 -1로 곱셈 연산을 수행합니다.
    count 변수는 다음 반복에서 다음 순서를 나타내기 위해 1을 증가시킵니다.

  4. while 루프가 종료되면, 마지막으로 더해진 값을 출력합니다.
    위의 코드를 실행하면, 1, -2, 3, -4를 반복적으로 합에 더하면서, 합이 100을 초과하는 시점에서의 마지막으로 더해진 값을 출력합니다.

profile
백엔드 개발 정리

0개의 댓글