Monday, September 23, 2024
Google search engine
HomeData Modelling & AINumber with even sum of digits

Number with even sum of digits

Fixed compiling error in java programA positive integer is considered a good number if sum of its digits is even. Find n-th smallest good number. 
Examples : 

Input :  n = 1
Output : 2
First good number is smallest positive
number with sum of digits even which is 2.

Input : n = 10
Output : 20

A simple solution is to start from 1 and traverse through all-natural numbers. For every number x, check if sum of digits is even. If even increment count of good numbers. Finally, return the n-th Good number.
An efficient solution is based on a pattern in the answer. Let us list down first 20 good numbers. The first 20 good numbers are: 2, 4, 6, 8, 11, 13, 15, 17, 19, 20, 22, 24, 26, 28, 31, 33, 35, 37, 39, 40. Observe that if last digit of n is from 0 to 4 the answer is 2*n and if last digit of n is from 5 to 9 the answer is 2*n + 1. 
Steps to solve this problem:

1. Declare a variable lastdig=n%10.

2. Check if lastdig is greater than zero and smaller than 4 than return n<<1.

3. Else return (n<<1)+1.

C++




// C++ program to find n-th
// Good number.
#include <bits/stdc++.h>
using namespace std;
 
// Function to find kth good number.
long long int findKthGoodNo(long long int n)
{
    // Find the last digit of n.
    int lastDig = n % 10;
 
    // If last digit is between
    // 0 to 4 then return 2 * n.
    if (lastDig >= 0 && lastDig <= 4)
        return n << 1;
 
    // If last digit is between
    // 5 to 9 then return 2*n + 1.
    else
        return (n << 1) + 1;
}
 
// Driver code
int main()
{
    long long int n = 10;
    cout << findKthGoodNo(n);
    return 0;
}


Java




// Java program to find n-th
// Good number.
import java.io.*;
public class GFG
{
     
    // Function to find kth good number.
    static int findKthGoodNo(int n)
    {
         
        // Find the last digit of n.
        int lastDig = n % 10;
 
        // If last digit is between
        // 0 to 4 then return 2*n.
        if (lastDig >= 0 && lastDig <= 4)
            return n << 1;
 
        // If last digit is between
        // 5 to 9 then return 2*n + 1.
        else
            return (n << 1) + 1;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int n = 10;
         
        System.out.println(findKthGoodNo(n));
    }
}
 
// This code is contributed by
// Smitha Dinesh Semwal


Python 3




# Python 3 program to find
# n-th Good number.
 
# Function to find kth
# good number.
def findKthGoodNo(n):
 
    # Find the last digit of n.
    lastDig = n % 10
 
    # If last digit is between
    # 0 to 4 then return 2 * n.
    if (lastDig >= 0 and lastDig <= 4) :
        return n << 1
 
    # If last digit is between
    # 5 to 9 then return 2 * n + 1.
    else:
        return (n << 1) + 1
 
 
# Driver code
n = 10
print(findKthGoodNo(n))
 
# This code is contributed by
# Smitha Dinesh Semwal


C#




// C# program to find n-th
// Good number.
using System;
 
class GFG
{
     
    // Function to find kth
    // good number
    public static int findKthGoodNo(int n)
    {
         
        // Find the last digit of n.
        int lastDig = n % 10;
 
        // If last digit is between
        // 0 to 4 then return 2*n.
        if (lastDig >= 0 && lastDig <= 4)
            return n << 1;
 
        // If last digit is between
        // 5 to 9 then return 2*n + 1.
        else
            return (n << 1) + 1;
    }
     
    // Driver code
    static public void Main (string []args)
    {
        int n = 10;
        Console.WriteLine(findKthGoodNo(n));
    }
}
 
// This code is contributed by Ajit.


PHP




<?php
// PHP program to find n-th
// Good number.
 
// Function to find kth
// good number.
function findKthGoodNo($n)
{
    // Find the last digit of n.
    $lastDig = $n % 10;
 
    // If last digit is between
    // 0 to 4 then return 2*n.
    if ($lastDig >= 0 && $lastDig <= 4)
        return $n << 1;
 
    // If last digit is between
    // 5 to 9 then return 2*n + 1.
    else
        return ($n << 1) + 1;
}
 
// Driver code
$n = 10;
echo(findKthGoodNo($n));
 
// This code is contributed by Ajit.
?>


Javascript




<script>
 
// JavaScript program to find n-th
// Good number.
 
    // Function to find kth good number.
    function findKthGoodNo(n)
    {
           
        // Find the last digit of n.
        let lastDig = n % 10;
   
        // If last digit is between
        // 0 to 4 then return 2*n.
        if (lastDig >= 0 && lastDig <= 4)
            return n << 1;
   
        // If last digit is between
        // 5 to 9 then return 2*n + 1.
        else
            return (n << 1) + 1;
    }
 
// Driver code
        let n = 10;
        document.write(findKthGoodNo(n));
 
// This code is contributed by souravghosh0416.
</script>


Output: 

20

 

Time Complexity: O(1) 
Auxiliary Space: O(1)

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments