Given an integer **N**, the task is to print first **N** integers whose sum of digits is **10**.**Examples:**

Input:N = 4Output:19 28 37 46Input:N = 6Output:19 28 37 46 55 64

**Approach:** Initialise **num = 19** to get the first number of the series, now add **9** to the previous number and check whether the sum of the digits of the new number is **10**. If yes then this is the next number of the series, this is because the difference between any two consecutive numbers of the required series is **at least 9**.

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` `// sum of digits of n` `int` `sum(` `int` `n)` `{` ` ` `int` `sum = 0;` ` ` `while` `(n) {` ` ` `// Add the last digit to the sum` ` ` `sum = sum + n % 10;` ` ` `// Remove last digit` ` ` `n = n / 10;` ` ` `}` ` ` `// Return the sum of digits` ` ` `return` `sum;` `}` `// Function to print the first n numbers` `// whose sum of digits is 10` `void` `firstN(` `int` `n)` `{` ` ` `// First number of the series is 19` ` ` `int` `num = 19, cnt = 1;` ` ` `while` `(cnt != n) {` ` ` `// If the sum of digits of the` ` ` `// current number is equal to 10` ` ` `if` `(sum(num) == 10) {` ` ` `// Print the number` ` ` `cout << num << ` `" "` `;` ` ` `cnt++;` ` ` `}` ` ` `// Add 9 to the previous number` ` ` `num += 9;` ` ` `}` `}` `// Driver code` `int` `main()` `{` ` ` `int` `n = 10;` ` ` `firstN(n);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `import` `java.util.*;` `class` `GFG` `{` `// Function to return the` `// sum of digits of n` `static` `int` `sum(` `int` `n)` `{` ` ` `int` `sum = ` `0` `;` ` ` `while` `(n > ` `0` `)` ` ` `{` ` ` `// Add the last digit to the sum` ` ` `sum = sum + n % ` `10` `;` ` ` `// Remove last digit` ` ` `n = n / ` `10` `;` ` ` `}` ` ` `// Return the sum of digits` ` ` `return` `sum;` `}` `// Function to print the first n numbers` `// whose sum of digits is 10` `static` `void` `firstN(` `int` `n)` `{` ` ` `// First number of the series is 19` ` ` `int` `num = ` `19` `, cnt = ` `1` `;` ` ` `while` `(cnt != n)` ` ` `{` ` ` `// If the sum of digits of the` ` ` `// current number is equal to 10` ` ` `if` `(sum(num) == ` `10` `)` ` ` `{` ` ` `// Print the number` ` ` `System.out.print(num + ` `" "` `);` ` ` `cnt++;` ` ` `}` ` ` `// Add 9 to the previous number` ` ` `num += ` `9` `;` ` ` `}` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `n = ` `10` `;` ` ` `firstN(n);` `}` `}` `// This code is contributed by Rajput-Ji` |

## Python3

`# Python3 implementation of the approach` `# Function to return the` `# sum of digits of n` `def` `sum` `(n) :` ` ` `sum` `=` `0` `;` ` ` `while` `(n) :` ` ` `# Add the last digit to the sum` ` ` `sum` `=` `sum` `+` `n ` `%` `10` `;` ` ` `# Remove last digit` ` ` `n ` `=` `n ` `/` `/` `10` `;` ` ` `# Return the sum of digits` ` ` `return` `sum` `;` `# Function to print the first n numbers` `# whose sum of digits is 10` `def` `firstN(n) :` ` ` `# First number of the series is 19` ` ` `num ` `=` `19` `; cnt ` `=` `1` `;` ` ` ` ` `while` `(cnt !` `=` `n) :` ` ` `# If the sum of digits of the` ` ` `# current number is equal to 10` ` ` `if` `(` `sum` `(num) ` `=` `=` `10` `) :` ` ` `# Print the number` ` ` `print` `(num,end` `=` `" "` `);` ` ` `cnt ` `+` `=` `1` `;` ` ` `# Add 9 to the previous number` ` ` `num ` `+` `=` `9` `;` `# Driver code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` `n ` `=` `10` `;` ` ` `firstN(n);` ` ` `# This code is contributed by AnkitRai01` |

## C#

`// C# implementation of the approach` `using` `System;` `class` `GFG` `{` `// Function to return the` `// sum of digits of n` `static` `int` `sum(` `int` `n)` `{` ` ` `int` `sum = 0;` ` ` `while` `(n > 0)` ` ` `{` ` ` `// Add the last digit to the sum` ` ` `sum = sum + n % 10;` ` ` `// Remove last digit` ` ` `n = n / 10;` ` ` `}` ` ` `// Return the sum of digits` ` ` `return` `sum;` `}` `// Function to print the first n numbers` `// whose sum of digits is 10` `static` `void` `firstN(` `int` `n)` `{` ` ` `// First number of the series is 19` ` ` `int` `num = 19, cnt = 1;` ` ` `while` `(cnt != n)` ` ` `{` ` ` `// If the sum of digits of the` ` ` `// current number is equal to 10` ` ` `if` `(sum(num) == 10)` ` ` `{` ` ` `// Print the number` ` ` `Console.Write(num + ` `" "` `);` ` ` `cnt++;` ` ` `}` ` ` `// Add 9 to the previous number` ` ` `num += 9;` ` ` `}` `}` `// Driver code` `public` `static` `void` `Main(String[] args)` `{` ` ` `int` `n = 10;` ` ` `firstN(n);` `}` `}` `// This code is contributed by PrinciRaj1992` |

## Javascript

`<script>` `// JavaScript implementation of the approach` ` ` `// Function to return the` ` ` `// sum of digits of n` ` ` `function` `sum(n) {` ` ` `var` `sum = 0;` ` ` `while` `(n > 0) {` ` ` `// Add the last digit to the sum` ` ` `sum = sum + n % 10;` ` ` `// Remove last digit` ` ` `n = parseInt(n / 10);` ` ` `}` ` ` `// Return the sum of digits` ` ` `return` `sum;` ` ` `}` ` ` `// Function to prvar the first n numbers` ` ` `// whose sum of digits is 10` ` ` `function` `firstN(n) {` ` ` `// First number of the series is 19` ` ` `var` `num = 19, cnt = 1;` ` ` `while` `(cnt != n) {` ` ` `// If the sum of digits of the` ` ` `// current number is equal to 10` ` ` `if` `(sum(num) == 10) {` ` ` `// Print the number` ` ` `document.write(num + ` `" "` `);` ` ` `cnt++;` ` ` `}` ` ` `// Add 9 to the previous number` ` ` `num += 9;` ` ` `}` ` ` `}` ` ` `// Driver code` ` ` ` ` `var` `n = 10;` ` ` `firstN(n);` `// This code contributed by Rajput-Ji` `</script>` |

**Output:**

19 28 37 46 55 64 73 82 91

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend live classes with industry experts, please refer **Geeks Classes Live**