> 백엔드 개발 > C++ > 처음 n 자연수의 다섯 번째 거듭제곱의 합

처음 n 자연수의 다섯 번째 거듭제곱의 합

PHPz
풀어 주다: 2023-09-11 14:45:09
앞으로
1299명이 탐색했습니다.

처음 n 자연수의 다섯 번째 거듭제곱의 합

자연수는 1부터 시작하고 모든 양의 정수를 포함하는 숫자입니다. 다음 기사에서는 첫 n 자연수 의 5제곱의 합 을 계산하는 두 가지 가능한 방법에 대해 설명합니다. 이 기사에서는 두 가지 접근 방식을 자세히 설명하고 효율성과 직관성 측면에서 비교합니다.

문제 설명

이 문제의 목적은 처음 n개의 자연수의 산술합을 모두 5승으로 계산하는 것입니다. 즉,

$mathrm{1^5 + 2^5 + 3^5 + 4^5 + 5^5 + … + n^5}$ n번째 항목까지.

n은 자연수이므로 그 값은 1보다 작을 수 없습니다.

으아악 으아악

설명

$mathrm{1^5 = 1 * 1 * 1 * 1 * 1 = 1}$

$mathrm{2^5 = 2 * 2 * 2 * 2 * 2 = 32}$

$mathrm {3^5 = 3 * 3 * 3 * 3 * 3 = 243}$

이 항을 더하면 $mathrm{1^5 + 2^5 + 3^5 = 276}$

이 됩니다.

따라서 처음 3개의 자연수의 합은 276입니다.

으아악 으아악

설명

$mathrm{1^5 = 1 * 1 * 1 * 1 * 1 = 1}$

그러므로 첫 번째 자연수 1개의 합은 1입니다.

으아악 으아악

설명

$mathrm{1^5 = 1 * 1 * 1 * 1 * 1 = 1}$

$mathrm{2^5 = 2 * 2 * 2 * 2 * 2 = 32}$

. ....

$mathrm{11^5 = 11 * 11 * 11 * 11 * 11 = 161051} $

이 항을 추가하면 $mathrm{1^5 + 2^5 + 3^5 + ... + 11^ 5 = 381876}$

따라서 처음 11개의 자연수의 합은 381876입니다.

직관적인 방법

  • 반복 루프를 사용하여 각 숫자의 5승을 하나씩 계산합니다.

  • 각 루프 반복 후 합계를 저장할 변수를 만듭니다.

  • 답변을 보여주세요.

알고리즘

함수 main()

  • n을 초기화합니다.

  • 함수는 sumOfFifthPower()를 호출합니다.

  • 합계를 인쇄하세요.

함수 sumOfFifthPower(int n)

  • 초기화 합계 = 0

  • for(i는 1부터 n까지)

    • sum = 합계 + (pow(i,5)

  • 합계를 반환하세요

프로그램은 sumOfFifthPower() 함수에서 n번 구현된 for 루프를 사용하여 각 숫자의 5제곱을 계산하고 각 반복마다 이를 기존 합계에 더합니다.

으아악

출력

으아악

시공간 분석

시간 복잡도: O(n), sumOfFifthPower() 함수 내에서 for 루프가 하나만 사용되기 때문입니다.

공간 복잡도: O(1), 추가 공간이 사용되지 않기 때문입니다.

대체 방법

  • 수학 공식을 사용하여 각 숫자의 5제곱의 합을 계산하세요.

  • 답변을 보여주세요.

공식

$$mathrm{displaystylesumlimits_{k=1}^n :k^5=frac{1}{12}(2n^6+6n^5+5n^4−n^ 2)}$$

알고리즘

함수 main()

  • n을 초기화합니다.

  • 함수는 sumOfFifthPower()를 호출합니다.

  • 합계를 인쇄하세요.

함수 sumOfFifthPower(int n)

  • 초기화 합계 = 0

  • Sum = ((2 * pow(n,6)) + (6 * pow(n,5) + (5 * pow(n,4) - (pow(n,2)) / 12

  • 합계를 반환하세요

이 프로그램은 sumOfFifithPower() 함수에서 5제곱된 처음 n개의 자연수의 합을 계산하는 수학 공식에 n 값을 대입하여 합을 계산합니다.

으아악

출력

으아악

시공간 분석

시간 복잡도: O(1), 답은 직접 공식을 사용하여 단일 반복으로 계산되기 때문입니다.

공간 복잡성: O(1), 추가 공간이 필요하지 않기 때문입니다.

위 방법을 비교해 보세요

의 중국어 번역은 입니다. 의 중국어 번역은 입니다.
표준 방법 1 방법 2
시간 복잡성 O(n) 오(1)
공간 복잡성 오(1) 오(1)
직관성 더보기 LessLess
효율성 LessLess더보기

결론

이 문서에서는 첫 번째 n 자연수의 5제곱의 합을 계산하는 두 가지 방법에 대해 설명합니다. 또한 두 방법의 개념, 알고리즘, C++ 프로그램 솔루션, 각 방법의 복잡성 분석을 소개합니다. 첫 번째 방법은 시간 복잡도가 높지만 더 직관적이라는 것을 알 수 있습니다. 반면에 두 번째 접근 방식은 간단한 수학 공식을 사용하여 O(1) 시간과 공간에서 문제를 효율적으로 해결합니다.

위 내용은 처음 n 자연수의 다섯 번째 거듭제곱의 합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿