> 백엔드 개발 > C++ > C/C++ 프로그램: n 제곱 빼기(n-1) 제곱을 n번째 항목으로 하는 시퀀스의 합을 계산합니다.

C/C++ 프로그램: n 제곱 빼기(n-1) 제곱을 n번째 항목으로 하는 시퀀스의 합을 계산합니다.

WBOY
풀어 주다: 2023-08-26 19:21:03
앞으로
963명이 탐색했습니다.

C/C++ 프로그램: n 제곱 빼기(n-1) 제곱을 n번째 항목으로 하는 시퀀스의 합을 계산합니다.

수학에는 C 프로그래밍으로 쉽게 풀 수 있는 계열이 많이 있습니다. 이 프로그램은 C 프로그램에서 다음 계열의 합을 구하는 프로그램입니다.

T<sub>n</sub> = n<sup>2</sup> - (n-1)<sup>2</sup>
로그인 후 복사

모든 계열 항의 합을 Sn mod(109 + 7)로 구하고,

Sn = T 1 + T2 + T3 + T4 + ...... + Tn

Input: 229137999
Output: 218194447
로그인 후 복사

설명

Tn은 2n-1로 표현하면 구할 수 있어요

저희처럼 알아요,

=> Tn = n2 - (n-1)2
=>Tn = n2 - (1 + n2 - 2n)
=>Tn = n2 - 1 - n2 + 2n
=>Tn = 2n - 1.
find &sum;Tn.
&sum;Tn = &sum;(2n &ndash; 1)
Reduce the above equation to,
=>&sum;(2n &ndash; 1) = 2*&sum;n &ndash; &sum;1
=>&sum;(2n &ndash; 1) = 2*&sum;n &ndash; n.
here, &sum;n is the sum of first n natural numbers.
As known the sum of n natural number &sum;n = n(n+1)/2.
Now the equation is,
&sum;Tn = (2*(n)*(n+1)/2)-n = n2
The value of n2 can be large. Instead of using n2 and take the mod of the result.
So, using the property of modular multiplication for calculating n2:
(a*b)%k = ((a%k)*(b%k))%k
로그인 후 복사

Example

的中文翻译为:

示例

#include <iostream>
using namespace std;
#define mod 1000000007
int main() {
   long long n = 229137999;
   cout << ((n%mod)*(n%mod))%mod;
   return 0;
}
로그인 후 복사

위 내용은 C/C++ 프로그램: n 제곱 빼기(n-1) 제곱을 n번째 항목으로 하는 시퀀스의 합을 계산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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