📌  相关文章
📜  Java程序从二维平面中的原点到达形状点(d,0)所需的给定长度的跳跃次数

📅  最后修改于: 2022-05-13 01:58:09.532000             🧑  作者: Mango

Java程序从二维平面中的原点到达形状点(d,0)所需的给定长度的跳跃次数

给定三个正整数a、bd 。您当前位于无限二维坐标平面上的原点 (0, 0)。您可以在 2D 平面上的任意点上以欧几里得距离跳跃,距离当前位置等于ab 。任务是找到从 (0, 0) 到达 (d, 0) 所需的最小跳跃次数。

例子:

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
输出:
3

有关更多详细信息,请参阅完整文章关于给定长度从二维平面中的原点到达形状点 (d, 0) 所需的跳跃次数!