12,402,211 members (30,466 online)
Tip/Trick
alternative version

7.9K views
Posted

# Padovan sequence in core Java

, 12 Dec 2011 CPOL
 Rate this:
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 static void main(String[] arg)
{
System.out.println("Enter starting no. : ");
System.out.println("Enter ending no. : ");
int[] ans = getSeries(start, end);
for (int a : ans)
System.out.print(a + " ");
}

public static int[] getSeries(int s, int e)
{
ArrayList<Integer> list = new ArrayList<Integer>();
int i, j = 0;
for (i = s; i <= e; i++, j++)
int[] ans = new int[j];
for (i = 0; i < j; i++)
ans[i] = list.get(i);
return ans;
}

{
if (p == 0 || p == 1 || p == 2)
return 1;
}
}```

## Share

 Software Developer India
No Biography provided

## You may also be interested in...

 -- There are no messages in this forum --
Web01 | 2.8.160721.1 | Last Updated 12 Dec 2011