static int count=0; static void printOutput(ArrayList arr){ count++; int sum=0; for(int i=0;i arr,int i,int n) { if(n==0){ printOutput(arr); } for(int j = i; j <= n; j++) { arr.add(j); findways (arr, j, n: n - i); arr.remove( index: arr.size() - 1); } } public static void main(String] args)throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int n=Integer.parseInt(br.readLine()); ArrayList arr = new ArrayList<>(); findways(arr, : 1,n); System.out.println("total="+(count-1));

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

Attached is a programming question and its Java solution.

My question regarding the recursion part:

     1. After calling the recursion in void main, the line "for(int j = i; j <= n; j++)" tells us the recursive method will call itself for n times. If I input "5", how come there are 6 total different permutations (or input "6", total = 10, etc.)? If the recursive method gets called n times, shouldnt there be n different permutations?

Ryuk the shinigami wants to find out the different ways to add up to N apples! For example, if you have 3 apples, the
possible ways are:
3=1+1+1
3=1+2
total=2
Ryuk wants you, to output the solution in the above format given the number of apples, N.
Note: The sequence which you output the solution does not matter, meaning:
3=1+1+1
3=1+2
and
3=1+2
3=1+1+1
are both accepted.
Transcribed Image Text:Ryuk the shinigami wants to find out the different ways to add up to N apples! For example, if you have 3 apples, the possible ways are: 3=1+1+1 3=1+2 total=2 Ryuk wants you, to output the solution in the above format given the number of apples, N. Note: The sequence which you output the solution does not matter, meaning: 3=1+1+1 3=1+2 and 3=1+2 3=1+1+1 are both accepted.
static int count=0;
static void printOutput(ArrayList<Integer> arr){
count++;
int sum=0;
for (int i=0;i<arr.size();i++){
sum+=arr.get (i);
}
if (arr.size() != 1){
System.out.print(sum+"=");
for(int i=0;i<arr.size()-1;i++){
System.out.print(arr.get(i)+"+");
}
System.out.println(arr.get(arr.size()-1));|
}
}
static void findWays (ArrayList<Integer> arr,int i,int n)
{
if(n==0){
printOutput (arr);
}
for(int i
i; j <= n; j++)
{
arr.add(j);
findways (arr, ji, n: n - j);
arr.remove( index: arr.size() - 1);
}
}
public static void main(String[] args)throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader (System.in));
int n=Integer.parseInt(br.readLine());
ArrayList<Integer> arr = new ArrayList<>();
findways (arr, : 1,n);
System.out.println("total="+(count-1));
Transcribed Image Text:static int count=0; static void printOutput(ArrayList<Integer> arr){ count++; int sum=0; for (int i=0;i<arr.size();i++){ sum+=arr.get (i); } if (arr.size() != 1){ System.out.print(sum+"="); for(int i=0;i<arr.size()-1;i++){ System.out.print(arr.get(i)+"+"); } System.out.println(arr.get(arr.size()-1));| } } static void findWays (ArrayList<Integer> arr,int i,int n) { if(n==0){ printOutput (arr); } for(int i i; j <= n; j++) { arr.add(j); findways (arr, ji, n: n - j); arr.remove( index: arr.size() - 1); } } public static void main(String[] args)throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader (System.in)); int n=Integer.parseInt(br.readLine()); ArrayList<Integer> arr = new ArrayList<>(); findways (arr, : 1,n); System.out.println("total="+(count-1));
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Computational Systems
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education