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

 `// C++ program to add two numbers using ++ ` `#include ` `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

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

Output:

```66
20```

Thanks to Gaurav Ahirwar for suggesting above solution.

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

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.