Open In App

Add two numbers using ++ and/or —

Improve
Improve
Like Article
Like
Save
Share
Report

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

Time Complexity: O(y)

Auxiliary Space: O(1)
Thanks to Gaurav Ahirwar for suggesting the above solution.

 



Last Updated : 22 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads