给定一个整数N ,任务是打印数字总和为10的倍数的前N个项。该系列的前几个词是19、28、37、46、55,…
例子:
Input: N = 5
Output: 19 28 37 46 55
Input: N = 10
Output: 19 28 37 46 55 64 73 82 91 109
方法:可以看出,要获得所需序列的第N个项,请找到N的位数之和。如果总和已经是10的倍数,则在N的末尾附加数字0 ,否则在末尾附加最小的可能数字,以使新的数字总和是10的倍数。
For example, to get the 19th term, since the sum of digits is already a multiple of 10 then append 0 and 190 is the 19th term of the series.
For N = 5, the minimum digit that can be appended to make the sum of digits as a multiple of 10 is 5 and 55 is the 5th term of the series.
下面是上述方法的实现:
C++
#include
using namespace std;
const int TEN = 10;
// Function to return the
// sum of digits of n
int digitSum(int n)
{
int sum = 0;
while (n > 0) {
// Add last digit to the sum
sum += n % TEN;
// Remove last digit
n /= TEN;
}
return sum;
}
// Function to return the nth term
// of the required series
int getNthTerm(int n)
{
int sum = digitSum(n);
// If sum of digit is already
// a multiple of 10 then append 0
if (sum % TEN == 0)
return (n * TEN);
// To store the minimum digit
// that must be appended
int extra = TEN - (sum % TEN);
// Return n after appending
// the required digit
return ((n * TEN) + extra);
}
// Function to print the first n terms
// of the requried series
void firstNTerms(int n)
{
for (int i = 1; i <= n; i++)
cout << getNthTerm(i) << " ";
}
// Driver code
int main()
{
int n = 10;
firstNTerms(n);
return 0;
}
Java
// Java implementation of the above approach
class GFG
{
final static int TEN = 10;
// Function to return the
// sum of digits of n
static int digitSum(int n)
{
int sum = 0;
while (n > 0)
{
// Add last digit to the sum
sum += n % TEN;
// Remove last digit
n /= TEN;
}
return sum;
}
// Function to return the nth term
// of the required series
static int getNthTerm(int n)
{
int sum = digitSum(n);
// If sum of digit is already
// a multiple of 10 then append 0
if (sum % TEN == 0)
return (n * TEN);
// To store the minimum digit
// that must be appended
int extra = TEN - (sum % TEN);
// Return n after appending
// the required digit
return ((n * TEN) + extra);
}
// Function to print the first n terms
// of the requried series
static void firstNTerms(int n)
{
for (int i = 1; i <= n; i++)
System.out.print(getNthTerm(i) + " ");
}
// Driver code
public static void main (String[] args)
{
int n = 10;
firstNTerms(n);
}
}
// This code is contributed by AnkitRai01
Python3
# Python3 code for above implementation
TEN = 10
# Function to return the
# sum of digits of n
def digitSum(n):
sum = 0
while (n > 0):
# Add last digit to the sum
sum += n % TEN
# Remove last digit
n //= TEN
return sum
# Function to return the nth term
# of the required series
def getNthTerm(n):
sum = digitSum(n)
# If sum of digit is already
# a multiple of 10 then append 0
if (sum % TEN == 0):
return (n * TEN)
# To store the minimum digit
# that must be appended
extra = TEN - (sum % TEN)
# Return n after appending
# the required digit
return ((n * TEN) + extra)
# Function to print the first n terms
# of the requried series
def firstNTerms(n):
for i in range(1, n + 1):
print(getNthTerm(i), end = " ")
# Driver code
n = 10
firstNTerms(n)
# This code is contributed by Mohit Kumar
C#
// C# Program to Find the Unique elements
// in linked lists
using System;
class GFG
{
readonly static int TEN = 10;
// Function to return the
// sum of digits of n
static int digitSum(int n)
{
int sum = 0;
while (n > 0)
{
// Add last digit to the sum
sum += n % TEN;
// Remove last digit
n /= TEN;
}
return sum;
}
// Function to return the nth term
// of the required series
static int getNthTerm(int n)
{
int sum = digitSum(n);
// If sum of digit is already
// a multiple of 10 then append 0
if (sum % TEN == 0)
return (n * TEN);
// To store the minimum digit
// that must be appended
int extra = TEN - (sum % TEN);
// Return n after appending
// the required digit
return ((n * TEN) + extra);
}
// Function to print the first n terms
// of the requried series
static void firstNTerms(int n)
{
for (int i = 1; i <= n; i++)
Console.Write(getNthTerm(i) + " ");
}
// Driver code
public static void Main (String[] args)
{
int n = 10;
firstNTerms(n);
}
}
// This code is contributed by 29AjayKumar
输出:
19 28 37 46 55 64 73 82 91 109