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

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


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

Tn = n2 - (n-1)2

หาผลรวมทุกพจน์ของอนุกรมเป็น Sn mod (109 + 7) และ

Sn = T1 + 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.
หา ∑Tn.
∑Tn = ∑(2n – 1)
ลดรูปสมการ:
=>∑(2n – 1) = 2*∑n – ∑1
=>∑(2n – 1) = 2*∑n – n.
ที่นี่ ∑n คือผลรวม n จำนวนธรรมชาติแรก
รู้ว่าผลรวม n จำนวนธรรมชาติ ∑n = n(n+1)/2
สมการกลายเป็น
∑Tn = (2*(n)*(n+1)/2)-n = n2
ค่า n2 อาจใหญ่ แทนที่จะใช้ n2 แล้ว mod ผลลัพธ์ ใช้คุณสมบัติการคูณแบบโมดูลาร์:
(a*b)%k = ((a%k)*(b%k))%k

ตัวอย่างโค้ด C++

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