给定自然数n ,找到前N个自然数的和系列之和。
Sum-Series: is sum of first N natural numbers, i.e, sum-series of 5 is 15 ( 1 + 2 + 3 + 4 + 5 ).
例子:
Input: N = 5
Output: 35
Explanation:
Sum of sum-series of {1, 2, 3, 4, 5} i.e. {1 + 3 + 6 + 10 + 15} is 35.
Input: N = 2
Output: 4
Explanation:
Sum of sum-series of {1, 2} i.e. {1 + 3} is 4.
简单方法:
查找从1到N的每个值的和系列,然后将其相加。
- 创建一个变量Total_sum来存储所需的求和序列。
- 从1到N遍历数字
- 通过使用公式sum =(N *(N + 1))/ 2来找到每个值的和系列
- 将值添加到Total_sum
最后,打印存储在Total_sum中的值。
C++
// C++ program to implement
// the above approach
#include
using namespace std;
// Function to find the sum
static long sumOfSumSeries(int N)
{
long sum = 0L;
// Calculate sum-series
// for every natural number
// and add them
for (int i = 1; i <= N; i++)
{
sum = sum + (i * (i + 1)) / 2;
}
return sum;
}
// Driver code
int main()
{
int N = 5;
cout << sumOfSumSeries(N);
}
// This code is contributed by Code_Mech
Java
// Java program to implement
// the above approach
class GFG {
// Function to find the sum
static long sumOfSumSeries(int N)
{
long sum = 0L;
// Calculate sum-series
// for every natural number
// and add them
for (int i = 1; i <= N; i++) {
sum = sum + (i * (i + 1)) / 2;
}
return sum;
}
// Driver code
public static void main(String[] args)
{
int N = 5;
System.out.println(sumOfSumSeries(N));
}
}
Python3
# Python3 program to implement
# the above approach
# Function to find the sum
def sumOfSumSeries(N):
_sum = 0
# Calculate sum-series
# for every natural number
# and add them
for i in range(N + 1):
_sum = _sum + (i * (i + 1)) // 2
return _sum
# Driver code
N = 5
print(sumOfSumSeries(N))
# This code is contributed by divyamohan123
C#
// C# program to implement
// the above approach
using System;
class GFG{
// Function to find the sum
static long sumOfSumSeries(int N)
{
long sum = 0L;
// Calculate sum-series
// for every natural number
// and add them
for(int i = 1; i <= N; i++)
{
sum = sum + (i * (i + 1)) / 2;
}
return sum;
}
// Driver code
public static void Main()
{
int N = 5;
Console.Write(sumOfSumSeries(N));
}
}
// This code is contributed by Nidhi_Biet
Javascript
C++
// C++ program to implement
// the above approach
#include
#include
using namespace std;
// Function to find the sum
long sumOfSumSeries(int n)
{
return (n * (n + 1) * (n + 2)) / 6;
}
// Driver code
int main ()
{
int N = 5;
cout << sumOfSumSeries(N);
return 0;
}
// This code is contributed
// by shivanisinghss2110
Java
// Java program to implement
// the above approach
class GFG {
// Function to find the sum
static long sumOfSumSeries(int n)
{
return (n * (n + 1) * (n + 2)) / 6;
}
// Driver code
public static void main(String[] args)
{
int N = 5;
System.out.println(sumOfSumSeries(N));
}
}
Python3
# Python3 program to implement
# the above approach
# Function to find the sum
def sumOfSumSeries(n):
return (n * (n + 1) * (n + 2)) // 6
# Driver code
N = 5
print(sumOfSumSeries(N))
# This code is contributed by divyamohan123
C#
// C# program to implement the
// above approach
using System;
class GFG{
// Function to find the sum
static long sumOfSumSeries(int n)
{
return (n * (n + 1) * (n + 2)) / 6;
}
// Driver code
public static void Main(String[] args)
{
int N = 5;
Console.Write(sumOfSumSeries(N));
}
}
// This code is contributed by Ritik Bansal
Javascript
35
时间复杂度:O(N)
高效的方法:
可以使用以下公式直接计算以上系列的total_sum:
where N is the natural number
以上公式的证明:
假设N = 5
- 然后总和就是表中所有下面元素的总和,我们称其为“结果”
Natural number | 1 | 2 | 3 | 4 | 5 | 6 |
Sum of natural number (sum-series) | 1 | 3 | 6 | 10 | 15 | 21 |
Sum of sum-series | 1 | 4 | 10 | 20 | 35 | 56 |
让我们在其他列中填充具有相同值的空单元格,将其称为“ totalSum ”
1 | ||||
1 | 2 | |||
1 | 2 | 3 | ||
1 | 2 | 3 | 4 | |
1 | 2 | 3 | 4 | 5 |
As sum of N numbers is repeated N times
totalSum = N * [(N*(N + 1))/2]
populated data = (1 times * 2) + (2 times * 3) + (3 times * 4) + (4 times * 5)
= 1*2 + 2*3 + 3*4 ……… +(N-1)*N
=[(N-1) * (N) * (N+1)]/3
- 自从,
result = totalSum – populatedData
= N * [(N*(N+1))/2] – [(N-1) * (N) * (N+1)]/3
= (N*(N+1)*(N+2))/6
- 所以
下面是上述方法的实现:
C++
// C++ program to implement
// the above approach
#include
#include
using namespace std;
// Function to find the sum
long sumOfSumSeries(int n)
{
return (n * (n + 1) * (n + 2)) / 6;
}
// Driver code
int main ()
{
int N = 5;
cout << sumOfSumSeries(N);
return 0;
}
// This code is contributed
// by shivanisinghss2110
Java
// Java program to implement
// the above approach
class GFG {
// Function to find the sum
static long sumOfSumSeries(int n)
{
return (n * (n + 1) * (n + 2)) / 6;
}
// Driver code
public static void main(String[] args)
{
int N = 5;
System.out.println(sumOfSumSeries(N));
}
}
Python3
# Python3 program to implement
# the above approach
# Function to find the sum
def sumOfSumSeries(n):
return (n * (n + 1) * (n + 2)) // 6
# Driver code
N = 5
print(sumOfSumSeries(N))
# This code is contributed by divyamohan123
C#
// C# program to implement the
// above approach
using System;
class GFG{
// Function to find the sum
static long sumOfSumSeries(int n)
{
return (n * (n + 1) * (n + 2)) / 6;
}
// Driver code
public static void Main(String[] args)
{
int N = 5;
Console.Write(sumOfSumSeries(N));
}
}
// This code is contributed by Ritik Bansal
Java脚本
35
考虑乘法,加法和除法的时间复杂度O(1)需要固定时间。