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 codeprint(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 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



