Sum of first N natural numbers which are not powers of K

Given two integers and , the task is to find the sum of all the numbers within the range **[1, n]** excluding the numbers which are positive powers of **k** i.e. the numbers **k, k ^{2}, k^{3} and so on**.

**Examples:**

Input:n = 10, k = 3

Output:43

1 + 2 + 4 + 5 + 6 + 7 + 8 + 10 = 43

3 and 9 are excluded as they are powers of 3

Input:n = 11, k = 2

Output:52

**Approach:**

- Store the sum of first natural numbers in a variable i.e.
**sum = (n * (n + 1)) / 2**. - Now for every positive power of which is less than , subtract it from the .
- Print the value of the variable in the end.

Below is the implementation of the above approach:

## C++

`// C++ program to find the sum of ` `// first n natural numbers which are ` `// not positive powers of k ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to return the sum of ` `// first n natural numbers which are ` `// not positive powers of k ` `int` `find_sum(` `int` `n, ` `int` `k) ` `{ ` ` ` `// sum of first n natural numbers ` ` ` `int` `total_sum = (n * (n + 1)) / 2; ` ` ` ` ` `int` `power = k; ` ` ` `while` `(power <= n) { ` ` ` ` ` `// subtract all positive powers ` ` ` `// of k which are less than n ` ` ` `total_sum -= power; ` ` ` ` ` `// next power of k ` ` ` `power *= k; ` ` ` `} ` ` ` ` ` `return` `total_sum; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `n = 11, k = 2; ` ` ` ` ` `cout << find_sum(n, k); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program to find the sum of ` `// first n natural numbers which are ` `// not positive powers of k ` `import` `java.io.*; ` ` ` `class` `GFG { ` ` ` ` ` ` ` `// Function to return the sum of ` `// first n natural numbers which are ` `// not positive powers of k ` `static` `int` `find_sum(` `int` `n, ` `int` `k) ` `{ ` ` ` `// sum of first n natural numbers ` ` ` `int` `total_sum = (n * (n + ` `1` `)) / ` `2` `; ` ` ` ` ` `int` `power = k; ` ` ` `while` `(power <= n) { ` ` ` ` ` `// subtract all positive powers ` ` ` `// of k which are less than n ` ` ` `total_sum -= power; ` ` ` ` ` `// next power of k ` ` ` `power *= k; ` ` ` `} ` ` ` ` ` `return` `total_sum; ` `} ` ` ` `// Driver code ` ` ` ` ` `public` `static` `void` `main (String[] args) { ` ` ` `int` `n = ` `11` `, k = ` `2` `; ` ` ` ` ` `System.out.println(find_sum(n, k)); ` ` ` `} ` `} ` `// This code is contributed by inder_verma.. ` |

*chevron_right*

*filter_none*

## Python3

`# Python 3 program to find the sum of ` `# first n natural numbers which are ` `# not positive powers of k ` ` ` `# Function to return the sum of ` `# first n natural numbers which are ` `# not positive powers of k ` `def` `find_sum(n, k): ` ` ` ` ` `# sum of first n natural numbers ` ` ` `total_sum ` `=` `(n ` `*` `(n ` `+` `1` `)) ` `/` `/` `2` ` ` `power ` `=` `k ` ` ` `while` `power <` `=` `n: ` ` ` ` ` `# subtract all positive powers ` ` ` `# of k which are less than n ` ` ` `total_sum ` `-` `=` `power ` ` ` ` ` `# next power of k ` ` ` `power ` `*` `=` `k ` ` ` `return` `total_sum ` ` ` `# Driver code ` `n ` `=` `11` `; k ` `=` `2` `print` `(find_sum(n, k)) ` ` ` `# This code is contributed ` `# by Shrikant13 ` |

*chevron_right*

*filter_none*

## C#

`// C# program to find the sum of ` `// first n natural numbers which are ` `// not positive powers of k ` `using` `System; ` ` ` `class` `GFG { ` ` ` ` ` ` ` `// Function to return the sum of ` `// first n natural numbers which are ` `// not positive powers of k ` `static` `int` `find_sum(` `int` `n, ` `int` `k) ` `{ ` ` ` `// sum of first n natural numbers ` ` ` `int` `total_sum = (n * (n + 1)) / 2; ` ` ` ` ` `int` `power = k; ` ` ` `while` `(power <= n) { ` ` ` ` ` `// subtract all positive powers ` ` ` `// of k which are less than n ` ` ` `total_sum -= power; ` ` ` ` ` `// next power of k ` ` ` `power *= k; ` ` ` `} ` ` ` ` ` `return` `total_sum; ` `} ` ` ` `// Driver code ` ` ` ` ` `public` `static` `void` `Main () { ` ` ` `int` `n = 11, k = 2; ` ` ` ` ` `Console.WriteLine(find_sum(n, k)); ` ` ` `} ` `} ` `// This code is contributed by inder_verma.. ` |

*chevron_right*

*filter_none*

## PHP

`<?php ` `// PHP program to find the sum of ` `// first n natural numbers which are ` `// not positive powers of k ` ` ` `// Function to return the sum of ` `// first n natural numbers which are ` `// not positive powers of k ` `function` `find_sum(` `$n` `, ` `$k` `) ` `{ ` ` ` `// sum of first n natural numbers ` ` ` `$total_sum` `= (` `$n` `* (` `$n` `+ 1)) / 2; ` ` ` ` ` `$power` `= ` `$k` `; ` ` ` `while` `(` `$power` `<= ` `$n` `) ` ` ` `{ ` ` ` ` ` `// subtract all positive powers ` ` ` `// of k which are less than n ` ` ` `$total_sum` `-= ` `$power` `; ` ` ` ` ` `// next power of k ` ` ` `$power` `*= ` `$k` `; ` ` ` `} ` ` ` ` ` `return` `$total_sum` `; ` `} ` ` ` `// Driver code ` `$n` `= 11; ` `$k` `= 2; ` ` ` `echo` `find_sum(` `$n` `, ` `$k` `); ` ` ` `// This code is contributed by inder_verma.. ` `?> ` |

*chevron_right*

*filter_none*

**Output:**

52