Sum of all i such that (2^i + 1) % 3 = 0 where i is in range [1, n]
Given an integer N, the task is to calculate the sum of all i from 1 to N such that (2i + 1) % 3 = 0.
Examples:
Input: N = 3
Output: 4
For i = 1, 21 + 1 = 3 is divisible by 3.
For i = 2, 22 + 1 = 5 which is not divisible by 3.
For i = 3, 23 + 1 = 9 is divisible by 3.
Hence, sum = 1 + 3 = 4 (for i = 1, 3)
Input: N = 13
Output: 49
Approach: If we observe carefully then i will always be an odd number i.e. 1, 3, 5, 7, …... We will use the formula for the sum of first n odd numbers which is n * n.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function to return the required sum int sumN( int n) { // Total odd numbers from 1 to n n = (n + 1) / 2; // Sum of first n odd numbers return (n * n); } // Driver code int main() { int n = 3; cout << sumN(n); return 0; } |
Java
// Java implementation of the approach class GFG { // Function to return the required sum static int sum( int n) { // Total odd numbers from 1 to n n = (n + 1 ) / 2 ; // Sum of first n odd numbers return (n * n); } // Driver code public static void main(String args[]) { int n = 3 ; System.out.println(sum(n)); } } |
Python3
# Python3 implementation of the approach # Function to return the required sum def sumN(n): # Total odd numbers from 1 to n n = (n + 1 ) / / 2 ; # Sum of first n odd numbers return (n * n); # Driver code n = 3 ; print (sumN(n)); # This code is contributed by mits |
C#
// C# implementation of the approach using System; public class GFG { // Function to return the required sum public static int sum( int n) { // Total odd numbers from 1 to n n = (n + 1) / 2; // Sum of first n odd numbers return (n * n); } // Driver code public static void Main( string [] args) { int n = 3; Console.WriteLine(sum(n)); } } // This code is contributed by Shrikant13 |
PHP
<?php // PHP implementation of the approach // Function to return the required sum function sumN( $n ) { // Total odd numbers from 1 to n $n = (int)(( $n + 1) / 2); // Sum of first n odd numbers return ( $n * $n ); } // Driver code $n = 3; echo sumN( $n ); // This code is contributed by mits ?> |
4
Time Complexity: O(1)
Recommended Posts:
- Sum of i * countDigits(i)^2 for all i in range [L, R]
- Sum of all even numbers in range L and R
- GCD of elements in a given range
- XOR of all the elements in the given range [L, R]
- Compute (a*b)%c such that (a%c) * (b%c) can be beyond range
- Interquartile Range (IQR)
- Count Odd and Even numbers in a range from L to R
- Find XOR of numbers from the range [L, R]
- Pairs with GCD equal to one in the given range
- Find the GCD that lies in given range
- Sum of Fibonacci Numbers in a range
- Sum of all even factors of numbers in the range [l, r]
- Sum of all odd factors of numbers in the range [l, r]
- Prime numbers in a given range using STL | Set 2
- Count of numbers having only 1 set bit in the range [0, n]
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.