## The challenge

Create a function that checks if a number `n` is divisible by two numbers `x` AND `y`. All inputs are positive, non-zero digits.

#### Examples

 ``````1 2 3 4 `````` ``````1) n = 3, x = 1, y = 3 => true because 3 is divisible by 1 and 3 2) n = 12, x = 2, y = 6 => true because 12 is divisible by 2 and 6 3) n = 100, x = 5, y = 3 => false because 100 is not divisible by 3 4) n = 12, x = 7, y = 5 => false because 12 is neither divisible by 7 nor 5 ``````

## The solution in Java code

Option 1:

 ``````1 2 3 4 5 `````` ``````public class DivisibleNb { public static Boolean isDivisible(long n, long x, long y) { return (n%x ==0) && (n%y ==0); } } ``````

Option 2:

 ``````1 2 3 4 5 6 7 `````` ``````import java.util.Arrays; public class DivisibleNb { public static Boolean isDivisible(long n, long x, long y) { return Arrays.asList(x, y).stream().allMatch(i -> n % i == 0); } } ``````

## Test cases to validate our solution

 `````` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 `````` ``````import static org.junit.Assert.*; import java.util.Random; import org.junit.Test; public class DivisibleNbTests { @Test public void test1() { assertEquals(true, DivisibleNb.isDivisible(12,4,3)); } @Test public void test2() { assertEquals(false, DivisibleNb.isDivisible(3,3,4)); } @Test public void test3() { assertEquals(false, DivisibleNb.isDivisible(8,3,4)); } @Test public void test4() { assertEquals(true, DivisibleNb.isDivisible(48,3,4)); } @Test public void test5() { assertEquals(true, DivisibleNb.isDivisible(100,5,10)); } @Test public void test6() { assertEquals(false, DivisibleNb.isDivisible(100,5,3)); } @Test public void test7() { assertEquals(true, DivisibleNb.isDivisible(4,4,2)); } @Test public void test8() { assertEquals(false, DivisibleNb.isDivisible(5,2,3)); } @Test public void test9() { assertEquals(true, DivisibleNb.isDivisible(1000000,1000000,1000000)); } @Test public void test10() { assertEquals(false, DivisibleNb.isDivisible(1,1000000,1000000)); } @Test public void test11() { Random rnd = new Random(); for (int i = 0; i < 50; i++) { long r = rnd.nextLong(); long n = 100000 * r; long k = 100 * r + rnd.nextInt(2); long l = 10 * r; System.out.println("Divisible n : " + n + " ? by : " + k + " and : " + l); assertEquals((n%k == 0) && (n%l == 0), DivisibleNb.isDivisible(n, k, l)); } } } ``````