Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

처음 n개의 자연수 제곱합을 계산하는 Java 프로그램

처음 n개의 자연수(1부터 n까지)의 제곱합을 구하는 것은 수학과 프로그래밍에서 자주 등장하는 기본 문제입니다. 반복문으로 하나씩 더할 수도 있지만, 수학적 공식을 활용하면 훨씬 간결하고 효율적으로 계산할 수 있습니다. 아래는 Java로 이를 구현한 예제입니다.

제곱합 공식

처음 n개의 자연수의 제곱합은 다음 공식으로 한 번에 구할 수 있습니다.

1² + 2² + 3² + ... + n² = n(n+1)(2n+1) / 6

이 공식을 사용하면 반복문 없이도 곧바로 결과를 얻을 수 있어 성능 면에서 매우 유리합니다.

예제 코드

import java.io.*;
import java.util.*;
public class Demo{
    public static int sum_of_squares(int val){
        return (val * (val + 1) / 2) * (2 * val + 1) / 3;
    }
    public static void main(String[] args){
        int val = 8;
        System.out.println("처음 8개의 자연수의 제곱합은 ");
        System.out.println(sum_of_squares(val));
    }
}

실행 결과

처음 8개의 자연수의 제곱합은
204

코드 설명

Demo라는 이름의 클래스 안에는 sum_of_squares라는 메서드가 정의되어 있습니다. 이 메서드는 처음 n개의 자연수의 제곱합을 계산하는 역할을 하며, 앞서 소개한 수학 공식을 그대로 코드로 옮겨 결과를 반환합니다.

main 메서드에서는 n값을 8로 지정한 후, 이 값을 인자로 전달하며 메서드를 호출합니다. 호출된 메서드가 계산한 결과값은 콘솔에 출력됩니다. 실제로 1² + 2² + ... + 8² = 204이므로, 실행 결과와 일치하는 것을 확인할 수 있습니다.