Find if the given number is present in the infinite sequence or not
Given three integers A, B and C. In an infinite sequence, A is the first number, C is the common difference (Si – Si – 1 = C). The task is to check if the number B will appear in the sequence or not.
Examples:
Input: A = 1, B = 7, C = 3
Output: Yes
The sequence will be 1, 4, 7, 10, …
Input: A = 1, B = -4, C = 5
Output: No
Approach: There are two cases:
- When C = 0, print Yes if A = B else No as the sequence will consist only the number A
- When C > 0, for any non-negative integer k the equation B = A + k * C must be satisfied i.e. (B – A) / C must be a non-negative integer.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function that returns true if // the sequence will contain B bool doesContainB( int a, int b, int c) { if (a == b) return true ; if ((b - a) * c > 0 && (b - a) % c == 0) return true ; return false ; } // Driver code int main() { int a = 1, b = 7, c = 3; if (doesContainB(a, b, c)) cout << "Yes" ; else cout << "No" ; return 0; } |
Java
// Java implementation of the approach class GFG { // Function that returns true if // the sequence will contain B static boolean doesContainB( int a, int b, int c) { if (a == b) { return true ; } if ((b - a) * c > 0 && (b - a) % c == 0 ) { return true ; } return false ; } // Driver code public static void main(String[] args) { int a = 1 , b = 7 , c = 3 ; if (doesContainB(a, b, c)) { System.out.println( "Yes" ); } else { System.out.println( "No" ); } } } // This code contributed by Rajput-Ji |
Python3
# Python3 implementation of the approach # Function that returns true if # the sequence will contain B def doesContainB(a, b, c): if (a = = b): return True if ((b - a) * c > 0 and (b - a) % c = = 0 ): return True return False # Driver code if __name__ = = '__main__' : a, b, c = 1 , 7 , 3 if (doesContainB(a, b, c)): print ( "Yes" ) else : print ( "No" ) # This code is contributed by 29AjayKumar |
C#
// C# implementation of the approach using System; class GFG { // Function that returns true if // the sequence will contain B static bool doesContainB( int a, int b, int c) { if (a == b) { return true ; } if ((b - a) * c > 0 && (b - a) % c == 0) { return true ; } return false ; } // Driver code public static void Main() { int a = 1, b = 7, c = 3; if (doesContainB(a, b, c)) { Console.WriteLine( "Yes" ); } else { Console.WriteLine( "No" ); } } } /* This code contributed by PrinciRaj1992 */ |
PHP
<?php // PHP implementation of the approach // Function that returns true if // the sequence will contain B function doesContainB( $a , $b , $c ) { if ( $a == $b ) return true; if (( $b - $a ) * $c > 0 && ( $b - $a ) % $c == 0) return true; return false; } // Driver code $a = 1; $b = 7; $c = 3; if (doesContainB( $a , $b , $c )) echo "Yes" ; else echo "No" ; // This code is contributed // by Akanksha Rai ?> |
Javascript
<script> // javascript program for the above approach // Function that returns true if // the sequence will contain B function doesContainB(a, b, c) { if (a == b) { return true ; } if ((b - a) * c > 0 && (b - a) % c == 0) { return true ; } return false ; } // Driver Code let a = 1, b = 7, c = 3; if (doesContainB(a, b, c)) { document.write( "Yes" ); } else { document.write( "No" ); } </script> |
Output:
Yes
Time Complexity: O(1), since there is only basic arithmetic which takes constant time.
Auxiliary Space: O(1), since no extra space has been taken.
Contact Us