求第n项为n^2–(n-1)^2的级数之和的Java程序

我们得到一个整数n和一系列的第n项,如下所示:

null
Tn = n2 - (n-1)2

我们需要找到 N 国防部(10) 9 +7),在哪里 N 是给定级数的所有项的和,

Sn = T1 + T2 + T3 + T4 + ...... + Tn

例如:

Input : 229137999
Output : 218194447

Input : 344936985
Output : 788019571

在编写程序之前,让我们做一些计算。T n 可以简化为2n-1。让我们看看如何:

Given, Tn = n2 - (n-1)2
Or, Tn =  n2 - (1 + n2 - 2n)
Or, Tn =  n2 - 1 - n2 + 2n
Or, Tn =  2n - 1. 

现在,我们需要找到∑T N .

∑T N = ∑(2n-1)

我们可以将上述公式简化为:, ∑(2n-1)=2*∑n-∑1. 或∑(2n-1)=2*∑n–n。 哪里∑n是前n个自然数的和。

我们知道n个自然数的和=n(n+1)/2。

因此,把这个值放到上面的等式中,我们会得到,

∑T N =(2*(n)*(n+1)/2)-n=n 2.

现在n的值 2. 可以很大。所以不要直接平方n,取结果的模。我们将使用模乘的特性来计算平方:

(a*b)%k=((a%k)*(b%k))%k

// Java program to find sum of given
// series.
public class FINDSUM {
static long mod = 1000000007 ;
public static long findSum( long n)
{
return ((n % mod) * (n % mod)) % mod;
}
public static void main(String[] args)
{
long n = 229137999 ;
System.out.print(findSum(n));
}
}
// Contributed by _omg


输出:

218194447

请参阅完整的文章 求第n项为n^2–(n-1)^2的级数之和 更多细节!

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享