Geeksforgeeks

Error

×

Leaderboard

Showing:

Handle | Score |
---|---|

@Ibrahim Nash | 6420 |

@blackshadows | 6380 |

@mb1973 | 5704 |

@Quandray | 5245 |

@akhayrutdinov | 5111 |

@saiujwal13083 | 5046 |

@sanjay05 | 3762 |

@kirtidee18 | 3673 |

@mantu_singh | 3530 |

@marius_valentin_dragoi | 3523 |

@sushant_a | 3459 |

Complete Leaderboard | |

Handle | Score |

@cfwong8 | 1160 |

@gurshehzadsingh | 847 |

@nithinreddy3210 | 743 |

@mohanreddy8847 | 702 |

@AkashLahoty | 606 |

@jha8768 | 583 |

@balwanyadav34 | 582 |

@workit | 582 |

@pritsahkar2000 | 580 |

@dipeshtiwari47 | 575 |

@divyagupta221100 | 557 |

Complete Leaderboard |

Given a large number **N**, write a program to count the ways to break it into three whole numbers such that they sum up to the original number.

**Example 1:**

**Input:** N = 3
**Output:** 10
**Explaination:** The ways are
0 + 0 + 3 = 3
0 + 3 + 0 = 3
3 + 0 + 0 = 3
0 + 1 + 2 = 3
0 + 2 + 1 = 3
1 + 0 + 2 = 3
1 + 2 + 0 = 3
2 + 0 + 1 = 3
2 + 1 + 0 = 3
1 + 1 + 1 = 3

**Example 2:**

**Input:** N = 1
**Output:** 3
**Explaination:** The ways are:
1 + 0 + 0 = 3
0 + 1 + 0 = 3
0 + 0 + 1 = 3

**Your Task:**

You do not need to read input or print anything. Your task is to complete the function **countWays()** which takes N as input parameter and returns the total number of possible ways to break **N** in three whole numbers.

**Expected Time Complexity:** O(1)

**Expected Auxiliary Space:** O(1)

**Constraints:**

1 ≤ N ≤ 10^{9}

Login to report an issue on this page.

We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?

YesLoading...

Break Numbers[Duplicate problem]

...