Write a
recursive program, to check whether given number is prime or not.
public class Prime { public static boolean isPrime(int num) { if(num == 2) return true; if (num % 2 == 0) return false; return primeCheck(num, 3); } private static boolean primeCheck(int num, int count) { if (count > Math.sqrt(num)) return true; if (num % count == 0) return false; return primeCheck(num, count += 2); } }
Following is
the junit test case for above program.
import static org.junit.Assert.*; import org.junit.Test; public class PrimeTest { @Test public void test1(){ assertTrue(Prime.isPrime(2)); assertTrue(Prime.isPrime(3)); assertTrue(Prime.isPrime(5)); assertTrue(Prime.isPrime(7)); assertTrue(Prime.isPrime(11)); assertFalse(Prime.isPrime(20)); assertFalse(Prime.isPrime(4)); assertFalse(Prime.isPrime(25)); assertFalse(Prime.isPrime(33)); } }
No comments:
Post a Comment