Given an integer N, the task is to count the numbers in ordered integer partitions of N.
Examples:
Input: N = 3
Output: 8
Integer partitions of N(=3) are {{1 + 1 + 1}, {1 + 2}, {2 + 1}, {3}}.
Numbers in integer partition of N are:{1, 1, 1, 1, 2, 2, 1, 3}
Therefore, the count of numbers in integer partitions of N(=3) is 8.Input: N = 4
Output: 20
Approach: The problem can be solved based on the following observations:
Count of ways to partition N into exactly k partitions =
Therefore, the count of numbers in ordered integer partitions of N is
Below is the implementation of the above approach:
C++
// C++ program to implement // the above approach #include <bits/stdc++.h> using namespace std;// Function to count of numbers in// ordered partitions of Nint CtOfNums(int N){ // Stores count the numbers in // ordered integer partitions int res = (N + 1) * (1 << (N - 2)); return round(res);} // Driver Codeint main(){ int N = 3; cout << CtOfNums(N); }// This code is contributed by code_hunt |
Java
// Java program to implement // the above approach import java.io.*; class GFG{ // Function to count of numbers in// ordered partitions of Nstatic int CtOfNums(int N){ // Stores count the numbers in // ordered integer partitions int res = (N + 1) * (1 << (N - 2)); return Math.round(res);} // Driver Codepublic static void main (String[] args) { int N = 3; System.out.print(CtOfNums(N));}}// This code is contributed by code_hunt |
Python3
# Python3 program to implement# the above approach # Function to count of numbers in# ordered partitions of Ndef CtOfNums(N): # Stores count the numbers in # ordered integer partitions res = (N + 1) * (1<<(N - 2)) return round(res) # Driver code if __name__ == '__main__': N = 3 print(CtOfNums(N)) |
C#
// C# program to implement // the above approach using System;class GFG{ // Function to count of numbers in// ordered partitions of Nstatic int CtOfNums(int N){ // Stores count the numbers in // ordered integer partitions double res = (N + 1) * (1 << (N - 2)); return (int)Math.Round(res);} // Driver Codepublic static void Main () { int N = 3; Console.Write(CtOfNums(N));}}// This code is contributed by code_hunt |
Javascript
<script>// Javascript program to implement // the above approach // Function to count of numbers in// ordered partitions of Nfunction CtOfNums(N){ // Stores count the numbers in // ordered integer partitions var res = (N + 1) * (1 << (N - 2)); return Math.round(res);} // Driver Codevar N = 3;document.write(CtOfNums(N)); </script> |
8
Time Complexity: O(log2N)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

