Replace all ‘0’ with ‘5’ in an input Integer

1.7

Given a integer as a input and replace all the ‘0’ with ‘5’ in the integer.
Examples:

    102 - 152
    1020 - 1525 

Use of array to store all digits is not allowed.

Source: Amazon interview Experience | Set 136 (For SDE-T)

The idea is simple, we get the last digit using mod operator ‘%’. If the digit is 0, we replace it with 5, otherwise keep it as it is. Then we recur for remaining digits.

Following is C implementation of the above idea.

C

// C program to replace all ‘0’ with ‘5’ in an input Integer
#include<stdio.h>

// A recursive function to replace all 0s with 5s in an input number
// It doesn't work if input number itself is 0.
int convert0To5Rec(int num)
{
    // Base case for recursion termination
    if (num == 0)
        return 0;

    // Extraxt the last digit and change it if needed
    int digit = num % 10;
    if (digit == 0)
        digit = 5;

    // Convert remaining digits and append the last digit
    return convert0To5Rec(num/10) * 10 + digit;
}

// It handles 0 and calls convert0To5Rec() for other numbers
int convert0To5(int num)
{
    if (num == 0)
       return 5;
    else return  convert0To5Rec(num);
}

// Driver program to test above function
int main()
{
    int num = 10120;
    printf("%d", convert0To5(num));
    return 0;
}

Java

// Java code for Replace all 0 with 5 in an input Integer
class GFG {
    
    // A recursive function to replace all 0s with 5s in 
    // an input number. It doesn't work if input number 
    // itself is 0.
    static int convert0To5Rec(int num)
    {
        // Base case
        if (num == 0)
            return 0;
        
        // Extraxt the last digit and change it if needed
        int digit = num % 10; 
        if (digit == 0)
            digit = 5;

        // Convert remaining digits and append the 
        // last digit
        return convert0To5Rec(num / 10) * 10 + digit;
    }

    // It handles 0 and calls convert0To5Rec() for
    // other numbers
    static int convert0To5(int num)
    {
        if (num == 0)
            return 5;
        else
            return convert0To5Rec(num);
    }

    // Driver function
    public static void main(String[] args)
    {
        System.out.println(convert0To5(10120));
    }
}

// This code is contributed by Kamal Rawal

Python

# Python program to replace all 0 with 5 in given integer

# A recursive function to replace all 0s with 5s in an integer
# Does'nt work if the given number is 0 itself
def convert0to5rec(num):

    # Base case for recurssion termination
    if num == 0:
        return 0

    # Extract the last digit and change it if needed
    digit = num % 10

    if digit == 0:
        digit = 5

    # Convert remaining digits and append the last digit
    return convert0to5rec(num/10) * 10 + digit

# It handles 0 to 5 calls convert0to5rec() for other numbers
def convert0to5(num):
    if num == 0:
        return 5
    else:
        return convert0to5rec(num)


# Driver Program
num = 10120
print convert0to5(num)

# Contributed by Harshit Agrawal


Output:
15125

Asked in: Amazon

This article is contributed by Sai Kiran. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

GATE CS Corner    Company Wise Coding Practice

Recommended Posts:



1.7 Average Difficulty : 1.7/5.0
Based on 33 vote(s)










Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.