Programa para reemplazar un dígito por otro

Dado un número x y dos dígitos d1 y d2, reemplaza d1 con d2 en x.
Ejemplos: 

Input : x = 645, d1 = 6, d2 = 5
Output : 545
We replace digit 6 with 5 in number 645.

Input  : x = 746, d1 = 7, d2 = 8
Output : 846

Recorremos todos los dígitos de x. Para cada dígito, verificamos si es d1, actualizamos el resultado en consecuencia.  

C++

// CPP program to replace a digit with other
// in a given number.
#include <bits/stdc++.h>
using namespace std;
 
int replaceDigit(int x, int d1, int d2)
{
    int result = 0, multiply = 1;
    while (x / 10 > 0) {
        // Take remainder of number starting from the unit
        // place digit
        int remainder = x % 10;
        // check whether it is equal to the digit to be
        // replaced.if yes then replace
        if (remainder == d1)
            result = result + d2 * multiply;
        else // else remain as such
            result = result + remainder * multiply;
        // Update and move forward from unit place to
        // hundred place and so on.
        multiply *= 10;
        x = x / 10; // update the value
    }
    // check whether it is equal to the digit to be
    // replaced.if yes then replace
    if (x == d1)
        result = result + d2 * multiply;
    else // else remain as such
        result = result + x * multiply;
    return result;
}
 
// Driver code
int main()
{
    int x = 645, d1 = 6, d2 = 5;
    cout << replaceDigit(x, d1, d2) << endl;
    return 0;
}
 
// This code is contributed by Sania Kumari Gupta

C

// C program to replace a digit with other
// in a given number.
#include <stdio.h>
 
int replaceDigit(int x, int d1, int d2)
{
    int result = 0, multiply = 1;
    while (x / 10 > 0)
    {
       
        // Take remainder of number starting from the unit
        // place digit
        int remainder = x % 10;
       
        // check whether it is equal to the digit to be
        // replaced.if yes then replace
        if (remainder == d1)
            result = result + d2 * multiply;
        else // else remain as such
            result = result + remainder * multiply;
       
        // Update and move forward from unit place to
        // hundred place and so on.
        multiply *= 10;
        x = x / 10; // update the value
    }
   
    // check whether it is equal to the digit to be
    // replaced.if yes then replace
    if (x == d1)
        result = result + d2 * multiply;
    else // else remain as such
        result = result + x * multiply;
    return result;
}
 
// Driver code
int main()
{
    int x = 645, d1 = 6, d2 = 5;
    printf("%d\n", replaceDigit(x, d1, d2));
    return 0;
}
 
// This code is contributed by Sania Kumari Gupta

Java

// Java program to replace a digit
// with other in a given number.
class GFG {
    static int replaceDigit(int x, int d1, int d2)
    {
        int result = 0, multiply = 1;
        while (x / 10 > 0) {
            // Take remainder of number starting from the
            // unit place digit
            int remainder = x % 10;
            // check whether it is equal to the digit to be
            // replaced. if yes then replace
            if (remainder == d1)
                result = result + d2 * multiply;
            else // else remain as such
                result = result + remainder * multiply;
            // Update and move forward from unit place to
            // hundred place and so on.
            multiply *= 10;
            x = x / 10; // update the value
        }
        // check whether it is equal to the digit to be
        // replaced.if yes then replace
        if (x == d1)
            result = result + d2 * multiply;
        else // else remain as such
            result = result + x * multiply;
        return result;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int x = 645, d1 = 6, d2 = 5;
        System.out.println(replaceDigit(x, d1, d2));
    }
}
 
// This code is contributed by Sania Kumari Gupta

Python3

# Python3 program to replace
# a digit with other
# in a given number.
 
 
def replaceDigit(x, d1, d2):
    result = 0
    multiply = 1
 
    while (x // 10 > 0):
 
        # Take remainder of number
        # starting from the unit
        # place digit
        remainder = x % 10
 
        # check whether it is
        # equal to the digit
        # to be replaced.if yes
        # then replace
        if (remainder == d1):
            result = (result + d2 *
                      multiply)
 
        else:  # else remain as such
            result = (result + remainder *
                      multiply)
 
        # Update and move forward
        # from unit place to hundred
        # place and so on.
        multiply *= 10
        x = int(x / 10)  # update the value
 
    # check whether it is equal to the digit
    # to be replaced.if yes then replace
    if (x == d1):
        result = result + d2 * multiply
 
    else:  # else remain as such
        result = result + x * multiply
    return result
 
 
# Driver code
x = 645
d1 = 6
d2 = 5
print(replaceDigit(x, d1, d2))
 
# This Code is contributed
# by mits

C#

// C# program to replace a digit
// with other in a given number
using System;
class GFG
{
    static int replaceDigit(int x, int d1, int d2)
    {
        int result = 0, multiply = 1;
 
        while (x / 10 > 0)
        {
 
            // Take remainder of number
            // starting from the unit
            // place digit
            int remainder = x % 10;
 
            // check whether it is equal
            // to the digit to be replaced.
            // if yes then replace
            if (remainder == d1)
                result = result + d2 * multiply;
 
            else // else remain as such
                result = result + remainder * multiply;
 
            // Update and move forward
            // from unit place to
            // hundred place and so on.
            multiply *= 10;
            x = x / 10; // update the value
        }
 
        // check whether it is equal to the digit
        // to be replaced.if yes then replace
        if (x == d1)
            result = result + d2 * multiply;
 
        else // else remain as such
            result = result + x * multiply;
        return result;
    }
 
    // Driver code
    public static void Main()
    {
        int x = 645, d1 = 6, d2 = 5;
        Console.WriteLine(replaceDigit(x, d1, d2));
    }
}
 
// This Code is contributed
// by inder_verma

PHP

<?php
// PHP program to replace
// a digit with other
// in a given number.
 
function replaceDigit($x, $d1, $d2)
{
    $result = 0; $multiply = 1;
 
    while ($x / 10 > 0)
    {
 
        // Take remainder of number
        // starting from the unit
        // place digit
        $remainder = $x % 10;
 
        // check whether it is
        // equal to the digit
        // to be replaced.if yes
        // then replace
        if ($remainder == $d1)
            $result = $result + $d2 *
                           $multiply;
         
        else // else remain as such
            $result = $result + $remainder *
                                $multiply;    
 
        // Update and move forward
        // from unit place to hundred
        // place and so on.
        $multiply *= 10;
        $x = $x / 10; // update the value
    }
   
    // check whether it is equal to the digit
    // to be replaced.if yes then replace
    if ($x == $d1)
        $result = $result + $d2 * $multiply;
         
    else // else remain as such
        $result = $result + $x * $multiply;
    return $result;
}
 
// Driver code
$x = 645; $d1 = 6; $d2 = 5;
echo replaceDigit($x, $d1, $d2);
 
// This Code is contributed
// by inder_verma
?>

Javascript

<script>
    // Javascript program to replace a digit
    // with other in a given number
     
    function replaceDigit(x, d1, d2)
    {
        let result = 0, multiply = 1;
  
        while (parseInt(x / 10, 10) > 0)
        {
  
            // Take remainder of number
            // starting from the unit
            // place digit
            let remainder = x % 10;
  
            // check whether it is equal
            // to the digit to be replaced.
            // if yes then replace
            if (remainder == d1)
                result = result + d2 * multiply;
  
            else // else remain as such
                result = result + remainder * multiply;
  
            // Update and move forward
            // from unit place to
            // hundred place and so on.
            multiply *= 10;
            x = parseInt(x / 10, 10); // update the value
        }
  
        // check whether it is equal to the digit
        // to be replaced.if yes then replace
        if (x == d1)
            result = result + d2 * multiply;
  
        else // else remain as such
            result = result + x * multiply;
        return result;
    }
     
    let x = 645, d1 = 6, d2 = 5;
      document.write(replaceDigit(x, d1, d2));
 
// This code is contributed by rameshtravel07.
</script>
Producción: 

545

 

Complejidad de tiempo : O (logn), donde n es el número dado.

Espacio Auxiliar : O(1)

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *