# 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 **(2 ^{i} + 1) % 3 = 0**.

**Examples:**

Input:N = 3

Output:4

For i = 1, 2^{1}+ 1 = 3 is divisible by 3.

For i = 2, 2^{2}+ 1 = 5 which is not divisible by 3.

For i = 3, 2^{3}+ 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; ` `} ` |

*chevron_right*

*filter_none*

## 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)); ` ` ` `} ` `} ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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 ` `?> ` |

*chevron_right*

*filter_none*

**Output:**

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.