给定三个正整数 a、 b 和 D .您当前位于无限二维坐标平面上的原点(0,0)。你可以跳到二维平面上的任意点,欧几里德距离等于 A. 或 B 从你现在的位置。任务是找到从(0,0)到达(d,0)所需的最小跳跃次数。
null
例如:
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)所需的给定长度的跳跃次数 更多细节!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END