# Count ways to express a number as sum of exactly two numbers

• Difficulty Level : Basic
• Last Updated : 19 May, 2021

Given a positive integer N. The task is to find the number of ways in which you can express N as a sum of exactly two numbers A and B (N = A + B) where A > 0, B > 0 and B > A.

Examples:

```Input: N = 8
Output: 3
Explanation:
N = 8 can be expressed as (1, 7), (2, 6), (3, 5)

Input: N = 14
Output: 6 ```

Approach:

• An observation here is that for every number N, if we take a number A which is less than N/2, then there must be a number B which is greater than N/2 and A + B = N.

• This leads to a simple solution of finding the count of numbers for either B or A. Hence, the floor value of (N-1)/2 will lead to the solution.

## C++

 `// C++ program to Count ways to``// express a number as sum of``// two numbers.``#include ``using` `namespace` `std;` `// Function returns the count``// of ways express a number``// as sum of two numbers.``int` `CountWays(``int` `n)``{``    ``int` `ans = (n - 1) / 2;``    ` `    ``return` `ans;``}` `// Driver code``int` `main()``{``   ``int` `N = 8;``   ` `    ``cout << CountWays(N);``}`

## Java

 `// Java program to count ways to``// express a number as sum of``// two numbers.``class` `GFG{` `// Function returns the count``// of ways express a number``// as sum of two numbers.``static` `int` `CountWays(``int` `n)``{``    ``int` `ans = (n - ``1``) / ``2``;``    ` `    ``return` `ans;``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ``int` `N = ``8``;``    ``System.out.print(CountWays(N));``}``}` `// This code is contributed by Rajput-Ji`

## Python3

 `# Python3 program to Count ways to``# express a number as sum of``# two numbers.` `# Function returns the count``# of ways express a number``# as sum of two numbers.``def` `CountWays(n) :``    ``ans ``=` `(n ``-` `1``) ``/``/` `2``    ``return` `ans` `# Driver code``N ``=` `8``print``(CountWays(N))` `# This code is contributed by Sanjit_Prasad`

## C#

 `// C# program to count ways to``// express a number as sum of``// two numbers.``using` `System;``class` `GFG{` `// Function returns the count``// of ways express a number``// as sum of two numbers.``static` `int` `CountWays(``int` `n)``{``    ``int` `ans = (n - 1) / 2;``    ` `    ``return` `ans;``}` `// Driver code``public` `static` `void` `Main()``{``    ``int` `N = 8;``    ``Console.Write(CountWays(N));``}``}` `// This code is contributed by Code_Mech`

## Javascript

 ``
Output:
`3`

Time complexity: O(N)

My Personal Notes arrow_drop_up