가우스의 덧셈이란? 연속된 자연수의 합을 구하는 방법이다.
일정한 정수가 순서대로 나열되었을 때 맨 앞 정수와 맨 뒤 정수를 더해나가는 것으로, for/while문보다 효율이 좋다.
예를 들어,
1 2 3 4 5 6 7 8 9 10 이라는 숫자가 있다면,
1+10, 2+9, 3+8, 4+7, 5+6
11을 총 5번 더한 것과 같다는 뜻이다.
맨 첫 항 + 맨 마지막 항을 더한 값이 총 5번 있고,
2개씩 묶이므로 2n = 10 , 총 5를 곱하였다.
그러므로 공식은 (맨 첫 항 + 맨 마지막 항) / (항의 개수/2) 인 것이다!!
package class01;
public class Gauss {
public static void main(String[] args) {
// 연속되는 정수의 합을 구한다.
// 숫자는 1-10 존재
int[] numList = {1,2,3,4,5,6,7,8,9,10};
int len = numList.length;
//공식 :(맨 첫 항 + 맨 마지막 항) / (항의 개수/2)
System.out.println((numList[0] + numList[9]) * (len/2));
}
}
출력 결과

'IT > 알고리즘|자료구조' 카테고리의 다른 글
스택(Stack) (0) | 2025.06.04 |
---|---|
반복 과정에서 조건 판단하기 (0) | 2025.02.06 |
자료구조와 함께 배우는 알고리즘 입문 [자바편] : 중앙값 구하기 (1) | 2025.01.09 |
자료구조와 함께 배우는 알고리즘 입문 [자바편] : 최대값 구하기 (2) | 2025.01.06 |
발표 준비 - 선택정렬에 대하여 (1) | 2025.01.05 |