Co-authored-by: Andrii Siriak <siryaka@gmail.com>
This commit is contained in:
parent
68e2ba29d4
commit
cf07de8afa
@ -0,0 +1,26 @@
|
|||||||
|
/** Author : Siddhant Swarup Mallick
|
||||||
|
* Github : https://github.com/siddhant2002
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** Program description - To find the New Man Shanks Prime. */
|
||||||
|
/** Wikipedia Link - https://en.wikipedia.org/wiki/Newman%E2%80%93Shanks%E2%80%93Williams_prime */
|
||||||
|
|
||||||
|
package com.thealgorithms.dynamicprogramming;
|
||||||
|
|
||||||
|
public class NewManShanksPrime {
|
||||||
|
public static boolean nthManShanksPrime(int n , int expected_answer)
|
||||||
|
{
|
||||||
|
int a[] = new int[n+1];
|
||||||
|
// array of n+1 size is initialized
|
||||||
|
a[0] = a[1] = 1;
|
||||||
|
// The 0th and 1st index position values are fixed. They are initialized as 1
|
||||||
|
for(int i=2;i<=n;i++)
|
||||||
|
{
|
||||||
|
a[i]=2*a[i-1]+a[i-2];
|
||||||
|
}
|
||||||
|
// The loop is continued till n
|
||||||
|
return a[n]==expected_answer;
|
||||||
|
// returns true if calculated answer matches with expected answer
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
package com.thealgorithms.others;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import com.thealgorithms.dynamicprogramming.NewManShanksPrime;
|
||||||
|
public class NewManShanksPrimeTest {
|
||||||
|
@Test
|
||||||
|
void testOne()
|
||||||
|
{
|
||||||
|
assertTrue(NewManShanksPrime.nthManShanksPrime(1,1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testTwo()
|
||||||
|
{
|
||||||
|
assertTrue(NewManShanksPrime.nthManShanksPrime(2,3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testThree()
|
||||||
|
{
|
||||||
|
assertTrue(NewManShanksPrime.nthManShanksPrime(3,7));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testFour()
|
||||||
|
{
|
||||||
|
assertTrue(NewManShanksPrime.nthManShanksPrime(4,17));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testFive()
|
||||||
|
{
|
||||||
|
assertTrue(NewManShanksPrime.nthManShanksPrime(5,41));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSix()
|
||||||
|
{
|
||||||
|
assertTrue(NewManShanksPrime.nthManShanksPrime(6,99));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSeven()
|
||||||
|
{
|
||||||
|
assertTrue(NewManShanksPrime.nthManShanksPrime(7,239));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testEight()
|
||||||
|
{
|
||||||
|
assertTrue(NewManShanksPrime.nthManShanksPrime(8,577));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user