A Padovan string P(n) for a natural number n, C/C++ Programming

Assignment Help:

c program for padovan string

 

Padovan series are positive integers obtained by the following process: The Padovan series is the sequence of integers P(n) defined by the initial values P(0) = P(1) = P(2) = 1, and the recurrence relation P(n) = P(n - 2) + P(n - 3).
Write a program to generate the Padovan series from n to m.
 
Constraints:

  • n >=0 and m <=49.
  • m >= n.

If the given inputs are invalid or out of range, then return -1 .
 
Example 1:
Input
from = 5
to = 10
 
Output:
returns {3, 4, 5, 7, 9, 12}
 
Explanation:

P(0
) = P(1
) = P(2
) = 1
, and
 the recurrence relation P(n) = P(n - 2
) + P(n - 3
). 
p(5
) = p(5
-2
) + p(5
-3
) 
        = p(3
) + p(2
) -------- (1
) 
p(3
) = p(3
-2
) + p(3
-1
) 
        = p(1
) + p(2
) 
        = 1
 + 1
 
        = 2
 
Substitute in
 (1
) 
p(5
) = 2
 + 1
 
        = 3
 

Similarly the recurrence should continue for the remaining positions.
 
Example 2:
Input
from = 45
to = 60
 
Output
Returns {-1}
 
CODE TO IMPLEMENT THIS:

import
 java.util.Scanner;
import
 java.util.ArrayList;
 
public
 class
 Padovan
Series
{
    public
 static
 void
 main(String
[] arg)
    {
        Scanner read = new
 Scanner(System.in);
        System.out.println("
Enter starting no. : "
);
        int
 start = read.nextInt();
        System.out.println("
Enter ending no. : "
);
        int
 end = read.nextInt();
        int
[] ans = getSeries(start, end);
        System.out.println("
Padovan
 series : "
);
        for
 (int
 a : ans)
            System.out.print(a + "
 "
);
    }
 
    public
 static
 int
[] getSeries(int
 s, int
 e)
    {
        ArrayList list = new
 ArrayList();
        int
 i, j = 0
;
        for
 (i = s; i <= e; i++, j++)
            list.add(getPadovan
(i));
        int
[] ans = new
 int
[j];
        for
 (i = 0
; i < j; i++)
            ans[i] = list.get(i);
        return
 ans;
    }
 
    public
 static
 int
 getPadovan
(int
 p)
    {
        if
 (p == 0
 || p == 1
 || p == 2
)
            return
 1
;
        return
 (getPadovan
(p - 2
) + getPadovan
(p - 3
));
    }
}

Related Discussions:- A Padovan string P(n) for a natural number n

Explain the pointer types, Pointer Types Pointer holds the address of a...

Pointer Types Pointer holds the address of an object, permitting for the indirect manipulation of that object. They are used in creating linked data structures like lists, tree

Programming assignment, Introduction. In this assignment you are required t...

Introduction. In this assignment you are required to simulate a maze traversal using so called recursive backtracking (the algorithm is given below). The grid of #s and 0s in the f

Define the modulo division operator in c language, Define the Modulo Divisi...

Define the Modulo Division Operator in c language? The C provides one more arithmetic operator % called as modulo division operator and this operator yields the remainder of an

Design a game in c, Design a game in c: const DODGERS = 0; const GI...

Design a game in c: const DODGERS = 0; const GIANTS = 1;   void main(void) {    int scoreboard [2][9];    // An array two rows by nine columns    int team, i

Can i drop the [] while deleteing array of some built-in , Can I drop the [...

Can I drop the [] while deleteing array of some built-in type (char, int, etc)? A: No. you can't Sometimes programmers think that the [] in the delete[] p only present so the

Create a stack using arrays, Problem : (a) Stacks can be implemented u...

Problem : (a) Stacks can be implemented using arrays. Write down the following C or C++ function to (i) create a stack (ii) add an element to a stack (push). (b) Expl

Loan negotiation is usually not a straightforward ta, Ask question #Minimum...

Ask question #Minimum 1Loan negotiation is usually not a straightforward task. A type of loan is the discount installment loan. This type of loan has the following characteristics.

Area under curve, write a program to find the area under the curve y=f(x) b...

write a program to find the area under the curve y=f(x) between x=a & x=b

Write a program that computes the cost of a long distance ca, Write a progr...

Write a program that computes the cost of a long distance call. The cost of the call is determined according to the following rate schedules. a. A call made between 8:00 AM and 6:

Flowchart, how to define a contanst in a flowchart like we do in c language...

how to define a contanst in a flowchart like we do in c language

kbbpuc

1/28/2013 7:30:27 AM

V4TRRu kwmeezykbbns,">http://kwmeezykbbns.com/">kwmeezykbbns, [url=http://hoqcfhngzhzz.com/]hoqcfhngzhzz[/url], [link=http://olnulsgfmzta.com/]olnulsgfmzta[/link], http://vaqeasygbayc.com/

Zdykinir

1/31/2013 12:32:29 AM

I''ve seen some people around the gym wearing the thing, but I never asked them for their opinions so I''m glad to read some comments on your site., Phen375">http://joaquinsantaella.com">Phen375 Diet Pills, yzsgc,

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd