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:
Tìm hiểu về xác thực và phân quyền trong ứng dụng
Spring Boot - Hystrix
Using the Not Operator in If Conditions in Java
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Spring Boot - Google OAuth2 Sign-In
Java Program to Implement the Hill Cypher
What is Thread-Safety and How to Achieve it?
Java Program to implement Dynamic Array
Quick Intro to Spring Cloud Configuration
Converting Iterator to List
Thao tác với tập tin và thư mục trong Java
Phân biệt JVM, JRE, JDK
Java Program to Implement Adjacency Matrix
Inject Parameters into JUnit Jupiter Unit Tests
How to Set TLS Version in Apache HttpClient
Hướng dẫn Java Design Pattern – Facade
Transactions with Spring and JPA
Java Program to Implement Solovay Strassen Primality Test Algorithm
Converting Java Date to OffsetDateTime
Java Program to Find All Pairs Shortest Path
Runnable vs. Callable in Java
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Java Program to Use rand and srand Functions
Find the Registered Spring Security Filters
Java IO vs NIO
Marker Interface trong Java
Toán tử instanceof trong java
Java Program to Implement DelayQueue API
Set Interface trong Java
Java Scanner hasNext() vs. hasNextLine()
A Guide to the finalize Method in Java
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers