Question

Java Problem: Provide a recursive definition of some sequence of numbers or function (e.g. log, exponent,...

Java Problem:

Provide a recursive definition of some sequence of numbers or function (e.g. log, exponent, polynomial). Write a recursive method that given n, computes the nth term of that sequence. Also provide an equivalent iterative implementation. How do the two implementations compare?

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Let us suppose, we have an arithmetic sequence as given below:

2 5 8 11 14 17 20 23...

First term = 2

Second term = 5

Third term = 8 and so on.

Now we will calculate the 4th term using a recursive method and simple method as given below:

public class Main
{
//recursive method to find the nth term of a sequence
public static int nthTermRecursive(int s, int d, int n)
{
if(n == 0)
return 0;

return s + nthTerm(d, d, n-1);
}
  
//method to find the nth term of a sequence
public static int nthTerm(int s, int d, int n)
{
for(int i=0; i<n; i++)
{
s = s+d;
}
return s;
}
  
   public static void main(String[] args)
   {
   //variable declaration
   int s, d, n, nthTrm;
  
   //initialization of starting term
   s = 2;
  
   //initialization of difference
d = 3;
  
n = 4;
  
   //display the nth term with recursion
       System.out.println(n+"th Term(without recursion): " + nthTerm(s, d, n));
      
       //display the nth term using recursion
       System.out.println(n+"th Term (using recursion): " + nthTermRecursive(s, d, n));
   }
}

OUTPUT:

Recursion Method:

The recursion method calls to itself and the values are pushed on to the stack. This method will terminate when the base condition is matched and it is slower and takes more memory as compared to the iterative method.

The complexity of this method is exponential.

Iterative Method:

The iterative method a block of statements is executed many times and the complexity is generally polynomial-logarithmic.

Add a comment
Know the answer?
Add Answer to:
Java Problem: Provide a recursive definition of some sequence of numbers or function (e.g. log, exponent,...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Below you will find a recursive function that computes a Fibonacci sequence (Links to an external...

    Below you will find a recursive function that computes a Fibonacci sequence (Links to an external site.).   # Python program to display the Fibonacci sequence up to n-th term using recursive functions def recur_fibo(n): """Recursive function to print Fibonacci sequence""" if n <= 1: return n else: return(recur_fibo(n-1) + recur_fibo(n-2)) # Change this value for a different result nterms = 10 # uncomment to take input from the user #nterms = int(input("How many terms? ")) # check if the number...

  • Recursion Exercises These exercises provide practice with recursion in Java. Objectives Module: To write recursive solutions...

    Recursion Exercises These exercises provide practice with recursion in Java. Objectives Module: To write recursive solutions for basic problems that require iteration. To identify and address base cases in a recursive method. Reminders during development Each of your solutions to the problems below should be in their own method. If a method header is provided for a problem, then your solution should have that exact method header. Any changes to the method header will receive a zero for that problem....

  • Q1. Write a recursive function in C++ void printNumberedChars(string str, int i=0) { ... } which...

    Q1. Write a recursive function in C++ void printNumberedChars(string str, int i=0) { ... } which prints each character of the given string str on a new line, with each line numbered 1, 2, 3, …. For example calling the function with printNumberedChars("hello"); should output the following: 1. h 2. e 3. l 4. l 5. o Q2. Write a recursive function in C++ int sumArray(const int* arr, unsigned int size) { ... } which takes an array of integers,...

  • python 2..fundamentals of python 1.Package Newton’s method for approximating square roots (Case Study 3.6) in a...

    python 2..fundamentals of python 1.Package Newton’s method for approximating square roots (Case Study 3.6) in a function named newton. This function expects the input number as an argument and returns the estimate of its square root. The script should also include a main function that allows the user to compute square roots of inputs until she presses the enter/return key. 2.Convert Newton’s method for approximating square roots in Project 1 to a recursive function named newton. (Hint: The estimate of...

  • JAVA PROBLEM #1: The British have been shelling the Revolutionary forces with a large cannon from...

    JAVA PROBLEM #1: The British have been shelling the Revolutionary forces with a large cannon from within their camp. You have been assigned a dangerous reconnaissance mission -- to infiltrate the enemy camp and determine the amount of ammunition available for that cannon. Fortunately for you, the British (being relatively neat and orderly) have stacked the cannonballs into a single pyramid-shaped stack. At the top is a single cannonball resting on a square of 8 cannonballs, which is itself resting...

  • Part 1 The function 'vbrf' (for very bad recursive function) is defined as follows: vbrf(0) =...

    Part 1 The function 'vbrf' (for very bad recursive function) is defined as follows: vbrf(0) = 2 vbrf(1) = 3 vbrf(2) = 4 vbrf(3) = 5 vbrf(n) = vbrf(n-1) - vbrf(n-2) + 3*vbrf(n-3) - 2*vbrf(n-4) if n > 3 Your job for this problem is to implement the function vbrf as a method in Java. Then write a program that uses this method to compute the function for various values of the argument and time how long it takes to...

  • The goal of this problem set is to extend the solution oftutorial 3. In particular,...

     The extended specification of class Polynomial is shown below. You only need to implement the last four methods. The other features (i.e., constructor and operators) are given as part of the solution for tutorial 3. In the .cpp file for the new methods you need to include cmath that contains the definition of pow - raise to power.The goal of this problem set is to extend the solution of tutorial 3. In particular, we wish toadd methods to calculate a...

  • The polynomial addition C function of Program 2.6 padd is the code when the polynomial is used to...

    The polynomial addition C function of Program 2.6 padd is the code when the polynomial is used to arrange the polynomial in the two arrangement methods of the polynomial described in the text 2.4.2. For the remaining method, when the expression polynomial is arranged by a coefficient, create a polynomial addition C function padd() corresponding to Program 2.6. 66 Arrays And Structures are zero are not displayed. The term with exponent equal to zero does not shouw able since x...

  • package homework; import java.util.Arrays; import stdlib.*; /** CSC300Homework4 version 1.0 * *    * * Find...

    package homework; import java.util.Arrays; import stdlib.*; /** CSC300Homework4 version 1.0 * *    * * Find the 3 Sections marked TODO: * * TODO #1: SumOddsRecursive * TODO #2: ReverseArray * TODO #3: MergeArrays * * You must not add static variables. You MAY add static functions. * * It is okay to add functions, such as * * <pre> * public static double sumOfOddsHelper (double[] list, int i) { * </pre> * * but it is NOT okay to...

  • You will write a C program, q1 sequence.c, that computes the value of the nth term...

    You will write a C program, q1 sequence.c, that computes the value of the nth term in any recursive sequence with the following structure: an = c1 · an−1 + c2 · an−2 a0 > 0 a1 > 0 c1 6= 0 c2 6= 0 Your C program will take 5 integer arguments on the command line: n, a0, a1, c1 and c2. n must be an integer greater than or equal to 0. If more or fewer arguments are...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT