📜  使用++和/或-将两个数字相加

📅  最后修改于: 2021-04-29 06:05:17             🧑  作者: Mango

给定两个数字,不使用运算符+和/或-以及使用++和/或–返回它们的总和。

例子:

Input: x = 10, y = 5
Output: 15

Input: x = 10, y = -5
Output: 10

我们强烈建议您最小化浏览器,然后先尝试一下
这个想法是,如果y为正,则将y乘以x ++;如果y为负,则将y乘以x–。

C++
// C++ program to add two numbers using ++
#include 
using namespace std;
  
// Returns value of x+y without using +
int add(int x, int y)
{
    // If y is positive, y times add 1 to x
    while (y > 0 && y--)
        x++;
  
    // If y is negative, y times subtract 1 from x
    while (y < 0 && y++)
        x--;
  
    return x;
}
  
int main()
{
    cout << add(43, 23) << endl;
    cout << add(43, -23) << endl;
    return 0;
}


Java
// java program to add two numbers
// using ++
  
public class GFG {
  
    // Returns value of x+y without
    // using +
    static int add(int x, int y)
    {
  
        // If y is positive, y times
        // add 1 to x
        while (y > 0 && y != 0) {
            x++;
            y--;
        }
  
        // If y is negative, y times
        // subtract 1 from x
        while (y < 0 && y != 0) {
            x--;
            y++;
        }
  
        return x;
    }
  
    // Driver code
    public static void main(String args[])
    {
        System.out.println(add(43, 23));
  
        System.out.println(add(43, -23));
    }
}
  
// This code is contributed by Sam007.


Python3
# python program to add two 
# numbers using ++
  
# Returns value of x + y 
# without using + def add(x, y):
      
    # If y is positive, y 
    # times add 1 to x 
    while (y > 0 and y):
        x = x + 1
        y = y - 1
      
    # If y is negative, y 
    # times subtract 1
    # from x
    while (y < 0 and y) :
        x = x - 1
        y = y + 1
  
    return x
  
# Driver code
print(add(43, 23))
print(add(43, -23))
  
# This code is contributed 
# by Sam007.


C#
// C# program to add two numbers
// using ++
using System;
  
public class GFG {
  
    // Returns value of x+y without
    // using +
    static int add(int x, int y)
    {
  
        // If y is positive, y times
        // add 1 to x
        while (y > 0 && y != 0) {
            x++;
            y--;
        }
  
        // If y is negative, y times
        // subtract 1 from x
        while (y < 0 && y != 0) {
            x--;
            y++;
        }
  
        return x;
    }
  
    // Driver code
    public static void Main()
    {
        Console.WriteLine(add(43, 23));
        Console.WriteLine(add(43, -23));
    }
}
  
// This code is contributed by Sam007.


PHP
 0 && $y--) 
       $x++;
  
    // If y is negative, 
    // y times subtract
    // 1 from x
    while ($y < 0 && $y++) 
       $x--;
  
    return $x;
}
  
    // Driver Code
    echo add(43, 23), "\n";
    echo add(43, -23), "\n";
  
// This code is contributed by ajit.
?>


输出:

66
20

感谢Gaurav Ahirwar提出上述解决方案。