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));

	}

}

 
출력 결과