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

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

王林
풀어 주다: 2020-10-22 18:16:09
앞으로
3615명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿