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 Program to Implement Selection Sort
Hướng dẫn Java Design Pattern – Intercepting Filter
The Registration Process With Spring Security
Basic Authentication with the RestTemplate
Java Program for Topological Sorting in Graphs
Java Program to Implement Hash Tables with Double Hashing
A Guide to the finalize Method in Java
Service Registration with Eureka
Java Program to Generate a Sequence of N Characters for a Given Specific Case
Java Program to Check Whether a Given Point is in a Given Polygon
Integer Constant Pool trong Java
Java Program to Implement Sieve Of Sundaram
Java Program to Check if a Given Binary Tree is an AVL Tree or Not
Java Program to Implement LinkedBlockingDeque API
Hướng dẫn sử dụng Printing Service trong Java
Logout in an OAuth Secured Application
Converting Iterator to List
Guide to Mustache with Spring Boot
A Quick Guide to Spring MVC Matrix Variables
Guide to Character Encoding
Sort a HashMap in Java
Running Spring Boot Applications With Minikube
Understanding Memory Leaks in Java
Java Program to Implement Ford–Fulkerson Algorithm
Bootstrapping Hibernate 5 with Spring
Java Program to Implement Best-First Search
Server-Sent Events in Spring
Java Program to Perform Complex Number Multiplication
Converting a Stack Trace to a String in Java
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
Java Program to Implement Heap
Spring Boot - Rest Controller Unit Test