Open In App

Find if the given number is present in the infinite sequence or not

Improve
Improve
Like Article
Like
Save
Share
Report

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: 
 

  1. When C = 0, print Yes if A = B else No as the sequence will consist only the number A
  2. 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.



Last Updated : 15 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads