Given a number x and two digits d1 and d2, replace d1 with d2 in x.
Examples:
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
We traverse through all digits of x. For every digit, we check if it is d1, we update result accordingly.
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. import java.io.*;
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> |
Output:
545
Time Complexity: O(logn), where n is the given number.
Auxiliary Space: O(1)