This is a java program to find the number of ways to write a given number as sum of numbers less than the number itself. We start with the number, number minus one is the next partition and so on, till all one’s are the last partition where we stop.
Here is the source code of the Java Program to Find the Number of Ways to Write a Number as the Sum of Numbers Smaller than Itself. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to find the number of ways to write a number as a sum of smaller than the number itself import java.util.Scanner; public class NumberOf_Unique_Partitions { public static void print(int[] p, int n, int count) { for (int i = 0; i < n; i++) System.out.print(p[i] + " "); System.out.println(); int j; for (j = 0; j < n; j++) { if (p[j] == 1) continue; else break; } if (j == n) System.out .println("The number of ways to write a number as a sum of number smaller than itself is :" + (count - 1)); } public static void generateUniquePartition(int n) { int[] p = new int[n]; int k = 0, count = 0; p[k] = n; while (true) { count++; print(p, k + 1, count); int rem_value = 0; while (k >= 0 && p[k] == 1) { rem_value += p[k]; k--; } if (k < 0) return; p[k]--; rem_value++; while (rem_value > p[k]) { p[k + 1] = p[k]; rem_value -= p[k]; k++; } p[k + 1] = rem_value; k++; } } public static void main(String args[]) { System.out.println("Unique Partitioning of a given number"); System.out.println("Enter the number:"); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); generateUniquePartition(n); sc.close(); } }
Output:
$ javac NumberOf_Unique_Partitions.java $ java NumberOf_Unique_Partitions Unique Partitioning of a given number Enter the number: 6 6 5 1 4 2 4 1 1 3 3 3 2 1 3 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 The number of ways to write as a sum of number smaller than itself is :10
Related posts:
Kết hợp Java Reflection và Java Annotations
Spring Data Reactive Repositories with MongoDB
Java Program to Perform Inorder Recursive Traversal of a Given Binary Tree
How to Remove the Last Character of a String?
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Java Program to Implement ConcurrentSkipListMap API
Java Program to Solve any Linear Equation in One Variable
Java Program to Find the Minimum value of Binary Search Tree
Spring Boot - CORS Support
Simultaneous Spring WebClient Calls
Java Program to Implement Circular Singly Linked List
Java Program to find the maximum subarray sum using Binary Search approach
Hướng dẫn Java Design Pattern – Bridge
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Apache Commons Collections BidiMap
Service Registration with Eureka
Default Password Encoder in Spring Security 5
Introduction to Java 8 Streams
HashSet trong Java hoạt động như thế nào?
A Guide to JUnit 5
@Order in Spring
Java Program to Solve TSP Using Minimum Spanning Trees
Java Program to Implement vector
Java Program to Implement TreeSet API
Converting a Stack Trace to a String in Java
Java Program to Check if it is a Sparse Matrix
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Java 8 – Powerful Comparison with Lambdas
Intro to Spring Boot Starters
Từ khóa this và super trong Java
Java Program to Implement Ternary Heap
Overview of Spring Boot Dev Tools