📌  相关文章
📜  用一个数字替换另一个数字的程序

📅  最后修改于: 2021-04-29 18:53:01             🧑  作者: Mango

给定数字x和两位数字d1和d2,将x中的d1替换为d2。
例子:

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

我们遍历x的所有数字。对于每个数字,我们检查它是否为d1,并相应地更新结果。

C++
// CPP program to replace a digit with other
// in a given number.
#include 
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;
}


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 mits


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
 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
?>


输出:
545