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:
Validate email address exists or not by Java Code
Hướng dẫn Java Design Pattern – Command
Guide to WeakHashMap in Java
Java Program to Construct an Expression Tree for an Infix Expression
Java Program to Implement wheel Sieve to Generate Prime Numbers Between Given Range
Java Program to Implement Selection Sort
Spring Boot - Cloud Configuration Server
A Guide to the Java ExecutorService
Introduction to Spring MVC HandlerInterceptor
Java Program to Implement Direct Addressing Tables
Java Program to Implement Insertion Sort
Collection trong java
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Wrapper Classes in Java
Functional Interface trong Java 8
Jackson Date
Convert XML to JSON Using Jackson
Spring Boot - Twilio
Setting a Request Timeout for a Spring REST API
Java Scanner hasNext() vs. hasNextLine()
Quick Guide to java.lang.System
Tính đóng gói (Encapsulation) trong java
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC
Spring Security OAuth2 – Simple Token Revocation
Logout in an OAuth Secured Application
Java Program to implement Array Deque
Debug a JavaMail Program
Java Program to Find the Shortest Path from Source Vertex to All Other Vertices in Linear Time
A Guide to @RepeatedTest in Junit 5
Guide to ThreadLocalRandom in Java
Java program to Implement Tree Set
Spring Cloud AWS – EC2