Skip to content
Related Articles

Related Articles

Improve Article

Add two numbers using ++ and/or —

  • Difficulty Level : Hard
  • Last Updated : 27 Apr, 2021

Given two numbers, return a sum of them without using operators + and/or -, and using ++ and/or –.
Examples: 
 

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

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

We strongly recommend you to minimize your browser and try this yourself first 
The idea is to do y times x++, if y is positive, and do y times x– if y is negative. 
 

C++




// C++ program to add two numbers using ++
#include <bits/stdc++.h>
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




<?php
// PHP program to add two
// numbers using ++
 
// Returns value of
// x+y without using +
function add($x, $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;
}
 
    // Driver Code
    echo add(43, 23), "\n";
    echo add(43, -23), "\n";
 
// This code is contributed by ajit.
?>

Javascript




<script>
 
    // Javascript program to
    // add two numbers using ++
     
    // Returns value of x+y without
    // using +
    function add(x, 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;
    }
     
    document.write(add(43, 23) + "</br>");
      document.write(add(43, -23) + "</br>");
     
</script>

Output:  

66
20

Thanks to Gaurav Ahirwar for suggesting the above solution.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :