IT/알고리즘|자료구조
자료구조와 함께 배우는 알고리즘 입문 [자바편] : 가우스 덧셈
_KH_
2025. 1. 11. 14:51
가우스의 덧셈이란? 연속된 자연수의 합을 구하는 방법이다.
일정한 정수가 순서대로 나열되었을 때 맨 앞 정수와 맨 뒤 정수를 더해나가는 것으로, 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));
}
}
출력 결과
