Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C/C++ หาผลรวมของอนุกรมที่มีพจน์ที่ n เป็น n^2 – (n-1)^2


ซีรีย์ทางคณิตศาสตร์มีหลายประเภทที่สามารถแก้ไขได้ง่ายในการเขียนโปรแกรม C โปรแกรมนี้เป็นการหาผลรวมของอนุกรมต่อไปนี้ในโปรแกรม C

Tn = n2 - (n-1)2

ค้นหาผลรวมของเงื่อนไขทั้งหมดของซีรีส์เป็น Sn mod (10 9 + 7) และ,

n =T1 + ท2 + ท3 + ต4 + ...... + 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 ∑Tn.
∑Tn = ∑(2n – 1)
Reduce the above equation to,
=>∑(2n – 1) = 2*∑n – ∑1
=>∑(2n – 1) = 2*∑n – n.
here, ∑n is the sum of first n natural numbers.
As known the sum of n natural number ∑n = n(n+1)/2.
Now the equation is,
∑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

ตัวอย่าง

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