Add two numbers using ++ and/or —

Given two numbers, return 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++



filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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.

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right



Output:

66
20

Thanks to Gaurav Ahirwar for suggesting above solution.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above



My Personal Notes arrow_drop_up

Improved By : Sam007, jit_t, nidhi_biet



Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.