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:
Hướng dẫn sử dụng Java Generics
Reactive WebSockets with Spring 5
Java – Create a File
Multi Dimensional ArrayList in Java
Spring Boot - Logging
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Java Program to Implement the String Search Algorithm for Short Text Sizes
Netflix Archaius with Various Database Configurations
Java 8 – Powerful Comparison with Lambdas
A Guide to Apache Commons Collections CollectionUtils
Test a REST API with Java
Check if there is mail waiting
The Java 8 Stream API Tutorial
Checked and Unchecked Exceptions in Java
A Guide to EnumMap
Java Program to Describe the Representation of Graph using Adjacency List
Java Scanner hasNext() vs. hasNextLine()
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
Map Serialization and Deserialization with Jackson
Vòng lặp for, while, do-while trong Java
Java Program to Implement Park-Miller Random Number Generation Algorithm
How to Read a File in Java
Java Program to Generate N Number of Passwords of Length M Each
A Guide to Java SynchronousQueue
Java Program to Find a Good Feedback Vertex Set
Introduction to Spring Security Expressions
Remove the First Element from a List
Java Program to Create a Random Graph Using Random Edge Generation
Java Program to Perform Partition of an Integer in All Possible Ways
Java Program to Implement Pollard Rho Algorithm
List Interface trong Java