Given three positive integers **a, b ** and **d**. You are currently at origin (0, 0) on infinite 2D coordinate plane. You are allowed to jump on any point in the 2D plane at euclidean distance either equal to **a** or **b** from your current position. The task is to find the minimum number of jump required to reach (d, 0) from (0, 0).

Examples:

Input : a = 2, b = 3, d = 1 Output : 2 First jump of length a = 2, (0, 0) -> (1/2, √15/2) Second jump of length a = 2, (1/2, √15/2) -> (1, 0) Thus, only two jump are required to reach (1, 0) from (0, 0). Input : a = 3, b = 4, d = 11 Output : 3 (0, 0) -> (4, 0) using length b = 4 (4, 0) -> (8, 0) using length b = 4 (8, 0) -> (11, 0) using length a = 3

`// Java code to find the minimum number ` `// of jump required to reach ` `// (d, 0) from (0, 0). ` `import` `java.io.*; ` ` ` `class` `GFG { ` ` ` ` ` `// Return the minimum jump of length either a or b ` ` ` `// required to reach (d, 0) from (0, 0). ` ` ` `static` `int` `minJumps(` `int` `a, ` `int` `b, ` `int` `d) ` ` ` `{ ` ` ` `// Assigning maximum of a and b to b ` ` ` `// and assigning minimum of a and b to a. ` ` ` `int` `temp = a; ` ` ` `a = Math.min(a, b); ` ` ` `b = Math.max(temp, b); ` ` ` ` ` `// if d is greater than or equal to b. ` ` ` `if` `(d >= b) ` ` ` `return` `(d + b - ` `1` `) / b; ` ` ` ` ` `// if d is 0 ` ` ` `if` `(d == ` `0` `) ` ` ` `return` `0` `; ` ` ` ` ` `// if d is equal to a. ` ` ` `if` `(d == a) ` ` ` `return` `1` `; ` ` ` ` ` `// else make triangle, and only 2 ` ` ` `// steps required. ` ` ` `return` `2` `; ` ` ` `} ` ` ` ` ` `// Driver code ` ` ` `public` `static` `void` `main(String[] args) ` ` ` `{ ` ` ` `int` `a = ` `3` `, b = ` `4` `, d = ` `11` `; ` ` ` `System.out.println(minJumps(a, b, d)); ` ` ` `} ` `} ` ` ` `// This code is contributed by vt_m ` |

*chevron_right*

*filter_none*

**Output:**

3

Please refer complete article on Number of jump required of given length to reach a point of form (d, 0) from origin in 2D plane for more details!