Given an **integer N**, the task is to count of decreasing pairs from numbers 1 to N.

A pair (x, y) is said to be decreasing if x > y

**Examples:**

Input:N = 8

Output:3

Explanation:

Decreasing pairs are: (7, 1), (6, 2), (5, 3).

Input:N = 9

Output:4

Explanation:

Decreasing pairs are: (8, 1), (7, 2), (6, 3), (5, 4).

**Approach:** Consider the below cases:

If N = 1 => Count = 0

If N = 2 => Count = 1 {(2, 1)}

If N = 3 => Count = 1 {(3, 1) or (3, 2)}

If N = 4 => Count = 2 {(4, 3), (2, 1)}

If N = 5 => Count = 2 {(5, 4), (3, 2)}

If N = 6 => Count = 3 {(6, 5), (4, 3), (2, 1)}

.

.

and so on

It can be clearly observed that

Below is the implementation of the above approach:

## C++

`// C++ program to count decreasing ` `// pairs formed from numbers 1 to N ` ` ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to count the ` `// possible number of pairs ` `int` `divParts(` `int` `N) ` `{ ` ` ` `if` `(N % 2 == 0) ` ` ` ` ` `// if the number is even ` ` ` `// then the answer in (N/2)-1 ` ` ` `cout << (N / 2) - 1 << endl; ` ` ` ` ` `else` ` ` `// if the number is odd ` ` ` `// then the answer in N/2 ` ` ` `cout << N / 2 << endl; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `N = 8; ` ` ` ` ` `divParts(N); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program to count decreasing ` `// pairs formed from numbers 1 to N ` `import` `java.util.*; ` `class` `GFG{ ` ` ` `// Function to count the ` `// possible number of pairs ` `static` `void` `divParts(` `int` `N) ` `{ ` ` ` `if` `(N % ` `2` `== ` `0` `) ` ` ` ` ` `// if the number is even ` ` ` `// then the answer in (N/2)-1 ` ` ` `System.out.println((N / ` `2` `) - ` `1` `); ` ` ` ` ` `else` ` ` `// if the number is odd ` ` ` `// then the answer in N/2 ` ` ` `System.out.println((N / ` `2` `)); ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `int` `N = ` `8` `; ` ` ` ` ` `divParts(N); ` `} ` `} ` ` ` `// This code is contributed by offbeat ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 program to count decreasing ` `# pairs formed from numbers 1 to N ` ` ` `# Function to count the ` `# possible number of pairs ` `def` `divParts(N): ` ` ` ` ` `if` `(N ` `%` `2` `=` `=` `0` `): ` ` ` ` ` `# if the number is even ` ` ` `# then the answer in (N/2)-1 ` ` ` `print` `((N ` `/` `2` `) ` `-` `1` `); ` ` ` ` ` `else` `: ` ` ` ` ` `# if the number is odd ` ` ` `# then the answer in N/2 ` ` ` `print` `(N ` `/` `2` `); ` ` ` `# Driver code ` `N ` `=` `8` `; ` `divParts(N); ` ` ` `# This code is contributed by Code_Mech ` |

*chevron_right*

*filter_none*

## C#

`// C# program to count decreasing ` `// pairs formed from numbers 1 to N ` `using` `System; ` `class` `GFG{ ` ` ` `// Function to count the ` `// possible number of pairs ` `static` `void` `divParts(` `int` `N) ` `{ ` ` ` `if` `(N % 2 == 0) ` ` ` ` ` `// if the number is even ` ` ` `// then the answer in (N/2)-1 ` ` ` `Console.WriteLine((N / 2) - 1); ` ` ` ` ` `else` ` ` `// if the number is odd ` ` ` `// then the answer in N/2 ` ` ` `Console.WriteLine((N / 2)); ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main() ` `{ ` ` ` `int` `N = 8; ` ` ` ` ` `divParts(N); ` `} ` `} ` ` ` `// This code is contributed by Code_Mech ` |

*chevron_right*

*filter_none*

**Output:**

3