Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C/C++: Kira jumlah jujukan dengan n kuasa dua tolak (n-1) kuasa dua sebagai item ke-

Program C/C++: Kira jumlah jujukan dengan n kuasa dua tolak (n-1) kuasa dua sebagai item ke-

WBOY
WBOYke hadapan
2023-08-26 19:21:03849semak imbas

Program C/C++: Kira jumlah jujukan dengan n kuasa dua tolak (n-1) kuasa dua sebagai item ke-

Terdapat banyak jenis siri dalam matematik yang boleh diselesaikan dengan mudah dalam pengaturcaraan C. Atur cara ini adalah untuk mencari hasil tambah siri berikut dalam atur cara C.

T<sub>n</sub> = n<sup>2</sup> - (n-1)<sup>2</sup>

Cari hasil tambah semua terma siri sebagai Sn mod (109 + 7) dan,

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

Input: 229137999
Output: 218194447

Penjelasan

Tn boleh dinyatakan sebagai 2n-1 untuk mendapatkannya

As we

tahu ,

=> 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

Contoh

的中文翻译为:

示例

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

Atas ialah kandungan terperinci Program C/C++: Kira jumlah jujukan dengan n kuasa dua tolak (n-1) kuasa dua sebagai item ke-. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam