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:
Spring Boot with Multiple SQL Import Files
Introduction to Spring Cloud Rest Client with Netflix Ribbon
A Custom Data Binder in Spring MVC
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Java Program to Implement Shell Sort
Spring Boot - Twilio
Using JWT with Spring Security OAuth (legacy stack)
Java Program to Implement Binary Search Tree
Java Program to Represent Graph Using Incidence Matrix
Exploring the Spring 5 WebFlux URL Matching
How to Get the Last Element of a Stream in Java?
Java Program to Implement Affine Cipher
Date Time trong Java 8
The Java 8 Stream API Tutorial
Spring Boot - File Handling
A Guide to Java HashMap
Biểu thức Lambda trong Java 8 – Lambda Expressions
File Upload with Spring MVC
The DAO with JPA and Spring
Java Program to Implement Radix Sort
Configure a RestTemplate with RestTemplateBuilder
Lập trình mạng với java
LinkedList trong java
How to Manually Authenticate User with Spring Security
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Java Program to Implement Splay Tree
Getting Started with Forms in Spring MVC
A Guide to TreeSet in Java
Java Program to Find Path Between Two Nodes in a Graph
Wiring in Spring: @Autowired, @Resource and @Inject
New Features in Java 11
Initialize a HashMap in Java