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:
Java equals() and hashCode() Contracts
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
A Guide to the ViewResolver in Spring MVC
RegEx for matching Date Pattern in Java
Spring Boot - Exception Handling
Logout in an OAuth Secured Application
Spring Boot - Logging
Lớp TreeMap trong Java
Giới thiệu Google Guice – Binding
Java Program to Implement LinkedBlockingDeque API
Java Program to Implement Sparse Array
Spring Data MongoDB Transactions
SOAP Web service: Authentication trong JAX-WS
Java Program to find the peak element of an array using Binary Search approach
Java Program to Find Nearest Neighbor Using Linear Search
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Spring Boot Actuator
Basic Authentication with the RestTemplate
File Upload with Spring MVC
Java Streams vs Vavr Streams
Java Program to Implement AttributeList API
Introduction to Spliterator in Java
Hướng dẫn Java Design Pattern – Transfer Object
Abstract class và Interface trong Java
Model, ModelMap, and ModelAndView in Spring MVC
Build a REST API with Spring and Java Config
A Guide to Apache Commons Collections CollectionUtils
Java toString() Method
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Java Program to Check if an UnDirected Graph is a Tree or Not Using DFS
Wrapper Classes in Java
Spring Boot - Building RESTful Web Services