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

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

WBOY
WBOY앞으로
2023-08-26 19:21:03849검색

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으로 문의하시기 바랍니다. 삭제