안녕하세요, 작가 J입니다. 오늘은 반복되는 규칙을 활용한 수학적 문제를 Java로 풀어보겠습니다. 수열을 이용한 계산 문제를 통해 프로그래밍 실력을 향상시키는 방법을 알아보겠습니다.
[Java Festival 06] 수열을 이용한 계산 문제 해결하기
(77 * 1) + (76 * 2) + (75 * 3) + ··· + (1 * 77)를 계산하여 결과를 출력하시오.
문제 설명
이 문제는 각 항이 특정 규칙을 따르는 수열의 합을 구하는 문제입니다. 첫 번째 항은 77 * 1, 두 번째 항은 76 * 2, 세 번째 항은 75 * 3, ... , 마지막 항은 1 * 77입니다. 이를 모두 더한 합을 구하는 프로그램을 작성하겠습니다.
코드 풀이
먼저 이 문제를 해결하기 위한 간단한 자바 코드를 보겠습니다.
public class Main {
public static void main(String[] args) {
int result = 0;
for (int i = 1; i <= 77; i++) {
result += (78 - i) * i; // 각 항을 계산하여 더함
}
System.out.println("결과: " + result);
}
}
위 코드는 반복문의 성질을 이용한 풀이입니다. for문에서 1부터 77까지 반복시키고, 안에서는 78에서 반복되는 숫자를 빼서 점점 감소하게 만듭니다. 그 결과를 result에 누적시키는 코드입니다. 이제 이 코드를 좀 더 풀어서 쉽게 설명해 보겠습니다.
public class Main {
public static void main(String[] args) {
int num = 77; // 77부터 감소할 숫자 변수
int sum = 0; // 누적해 줄 숫자 변수
for (int i = 1; i <= 77; i++) {
sum += num * i; // (77 * 1), (76 * 2) ...
num--; // 77부터 감소
}
System.out.println(sum);
}
}
이 풀이는 좀 더 풀어서 쉽게 쓴 코드입니다. 반복문 안에서 i는 자연스럽게 1부터 77까지 증가하니, 우리는 77부터 1까지 감소하는 변수를 만들어 주면 됩니다. 이 변수 num을 이용해 각 항을 계산하고, 이를 sum 변수에 누적합니다.
위 코드나 아래 코드나 결과는 동일합니다. 상황에 맞게 본인이 이해하기 쉬운 풀이로 진행하는 게 가장 적합하다고 생각합니다.
마무리
이 문제는 수열을 이용한 계산을 통해 반복문과 수학적 사고를 연습할 수 있는 좋은 예제입니다. 반복문을 사용하여 각 항을 계산하고 이를 더해나가는 과정을 통해 프로그래밍의 기본 개념을 확실히 익힐 수 있습니다.
이러한 수학적 문제를 해결하는 과정에서 논리적 사고와 문제 해결 능력을 향상시킬 수 있습니다. 앞으로도 다양한 문제를 통해 여러분의 프로그래밍 실력을 키워나가길 바랍니다.
앞으로도 많은 예제를 더욱 쉽게 풀이하도록 노력하겠습니다. 감사합니다!
'프로그래밍 기초 > Java Festival' 카테고리의 다른 글
[Java Festival] Bonus 01. 숫자 입력 및 뺄셈 프로그램 (0) | 2024.06.22 |
---|---|
[Java Festival] 07. 입력받은 행 개수에 따라 역삼각형 모양 별 출력하기 (0) | 2024.06.22 |
[Java Festival] 05. 입력받은 행 개수에 따라 별 출력하기 (0) | 2024.06.22 |
[Java Festival] 04. 거스름돈 문제 해결하기 (0) | 2024.06.21 |
[Java Festival] 03. 1부터 100까지 번갈아 더하고 빼는 문제 해결하기 (0) | 2024.06.21 |