Saturday, November 16, 2024
Google search engine
HomeData Modelling & AIAdd two numbers using ++ and/or —

Add two numbers using ++ and/or —

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.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
 

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments