>  기사  >  Java  >  Java에서 100 내의 양의 정수 합계를 계산하는 세 가지 방법

Java에서 100 내의 양의 정수 합계를 계산하는 세 가지 방법

王林
王林앞으로
2020-10-22 18:15:153584검색

Java에서 100 내의 양의 정수 합계를 계산하는 세 가지 방법

방법은 다음과 같습니다.

(추천 튜토리얼: java 강좌)

1. 무차별 대입 솔루션

for 루프를 사용하여 하나씩 직접 해결하면 알고리즘 복잡도는 O(n) O( n)O(n)

    /**
     * <p>暴力解法</p>
     * @param startInclusive
     * @param endExclusive
     * @return
     */
    public int sumByDirect(int startInclusive, int endExclusive){
        int sum = 0;
        for (int i = startInclusive; i < endExclusive; i++) {
            sum += i;
        }
        return sum;
    }

2. 흐름 프로그래밍

은 무차별 솔루션과 동일하지만 코드가 적고 읽기 쉬운 선언적 흐름 프로그래밍을 사용합니다.

    /**
     * <p>流式编程</p>
     * @param startInclusive
     * @param endExclusive
     * @return
     */
    public int sumByStream(int startInclusive, int endExclusive){
        return IntStream.range(startInclusive, endExclusive).sum();
    }

3 합산 공식을 사용하세요. 산술 수열 합산 공식

복잡성은 O ( 1 ) O(1)O(1)

    /**
     * <p>利用求和公式</p>
     * @param startInclusive
     * @param endExclusive
     * @return
     */
    public int sumByFormula(int startInclusive, int endExclusive){
        return ((startInclusive + endExclusive - 1) * (endExclusive - startInclusive) )  >> 1;
    }

테스트:

    @Test
    public void Test() {
        System.out.println("sumByDirect=" + sumByDirect(1, 101));
        System.out.println("sumByStream=" + sumByStream(1, 101));
        System.out.println("sumByFormula=" + sumByFormula(1, 101));
    }

출력 결과:

sumByDirect=5050
sumByStream=5050
sumByFormula=5050

관련 권장 사항:

Java 시작하기

위 내용은 Java에서 100 내의 양의 정수 합계를 계산하는 세 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제