给定两个点,即 (a, 0) 到 (b, 0)。任务是检查是否可以从 (a,0) 移动到 (b,0)。一个人可以移动为 (a, 0), (a+x, 0), (a+x+1, 0), (a, 2*x, 0), (a, 2*x+1, 0)… …
例子:
Input: a = 3, x = 10, b = 4
Output: No
Input: a = 3, x = 2, b = 5
Output: Yes
方法:一个答案是可能的,如果
- a + n*x = b, where n is a non-negative integer.
- a + n*x + 1 = b where n is a positive integer.
So,
(b – a) / x is an integer or (b – a – 1) / x is an integer
(b – a) % x = 0 or (b – a – 1) % x = 0
下面是上述方法的实现:
C++
// CPP program to move form
// (a, 0) to (b, 0) with given jumps
#include
using namespace std;
// Function to check if it is possible
bool Move(int a, int x, int b)
{
if ((((b - a) % x == 0) || ((b - a - 1) % x == 0) && a + 1 != b) && b >= a)
return true;
return false;
}
// Driver code
int main()
{
int a = 3, x = 2, b = 7;
// function call
if (Move(a, x, b))
cout << "Yes";
else
cout << "No";
}
Java
// Java program to move form
// (a, 0) to (b, 0) with given jumps
import java.io.*;
class GFG {
// Function to check if it is possible
static boolean Move(int a, int x, int b)
{
if ((((b - a) % x == 0) || ((b - a - 1) % x == 0) && a + 1 != b) && b >= a)
return true;
return false;
}
// Driver code
public static void main (String[] args) {
int a = 3, x = 2, b = 7;
// function call
if (Move(a, x, b))
System.out.println( "Yes");
else
System.out.println( "No");
}
}
//This code is contributed by shs..
Python 3
# Python 3 program to move form
# (a, 0) to (b, 0) with given jumps
# Function to check if it
# is possible
def Move(a, x, b):
if ((((b - a) % x == 0) or
((b - a - 1) % x == 0) and
a + 1 != b) and b >= a):
return True
return False
# Driver code
if __name__ == "__main__":
a = 3
x = 2
b = 7
# function call
if (Move(a, x, b)):
print("Yes")
else:
print("No")
# This code is contributed
# by ChitraNayal
C#
// C# program to move form
// (a, 0) to (b, 0) with given jumps
using System;
class GFG
{
// Function to check if it is possible
static bool Move(int a, int x, int b)
{
if ((((b - a) % x == 0) ||
((b - a - 1) % x == 0) &&
a + 1 != b) && b >= a)
return true;
return false;
}
// Driver code
public static void Main ()
{
int a = 3, x = 2, b = 7;
// function call
if (Move(a, x, b))
Console.WriteLine( "Yes");
else
Console.WriteLine( "No");
}
}
// This code is contributed
// by inder_verma
PHP
= $a)
return true;
return false;
}
// Driver code
$a = 3; $x = 2; $b = 7;
// function call
if (Move($a, $x, $b))
echo "Yes";
else
echo"No";
// This code is contributed
// by anuj_67
?>
Javascript
输出:
Yes