# Find the integers that doesnot ends with T1 or T2 when squared and added X

Given an array of N integers. Given two single digit numbers T1 and T2 and a number X. The task is to find out the integers among them that doesnot ends with either T1 or T2 when they are squared and X is added to them. If there exists no such integer, print -1.
Examples:

Input: N = 4, arr[] = {3, 1, 4, 7} X = 10, T1 = 5, T2 = 6
Output: 19 11 59
Explanation :
The modified value of the 3 is 19 (3^2 + 10).
The modified value of the 1 is 11 (1^2 + 10).
The modified value of the 4 is 26 (4^2 + 10).
The modified value of the 7 is 59 (7^2 + 10).
The modified values which do not end with 5 or 6
are 19, 11 and 59
Hence the output is 19 11 59.

Input: N = 4, arr[] = {2, 18, 22, 8} X = 2, T1 = 5, T2 = 6
Output: -1
Explanation:
The modified value of the 2 is 6 (2^2 + 2).
The modified value of the 18 is 326 (18^2 + 2).
The modified value of the 22 is 486 (22^2 + 2).
The modified value of the 8 is 66 (8^2 + 2).
As, there are no modified values
which do not end with 5 or 6
Hence the output is -1

Approach:

• Initialize a Boolean variable flag as true.
• Traverse through the elements in the array a[n].
• Store the sum of X and the square of a[i] in a variable temp.
• Check if the last digit in temp is neither T1 nor T2.
• IF yes then print the value in temp and change the flag to false.
• After traversing through all the elements in the array if the flag is true then print -1.

Below is the implementation of the above approach:

## C++

 `// C++ program to find the integers``// that ends with either T1 or T2``// when squared and added X` `#include ``using` `namespace` `std;` `// Function to print the elements``// Not ending with T1 or T2``void` `findIntegers(``int` `n, ``int` `a[],``                   ``int` `x, ``int` `t1, ``int` `t2)``{` `    ``// Flag to check if none of the elements``    ``// Do not end with t1 or t2``    ``bool` `flag = ``true``;` `    ``// Traverse through all the elements``    ``for` `(``int` `i = 0; i < n; i++) {` `        ``// Temporary variable to store the value``        ``int` `temp = ``pow``(a[i], 2) + x;` `        ``// If the last digit is neither t1``        ``// nor t2 then``        ``if` `(temp % 10 != t1 && temp % 10 != t2) {` `            ``// Print the number``            ``cout << temp << ``" "``;` `            ``// Set the flag as False``            ``flag = ``false``;``        ``}``    ``}` `    ``// If none of the elements``    ``// meets the specification``    ``if` `(flag)``        ``cout << ``"-1"``;``}` `// Driver Code``int` `main()``{``    ``// Test case 1``    ``int` `N = 4, X = 10, T1 = 5, T2 = 6;``    ``int` `a[N] = { 3, 1, 4, 7 };` `    ``// Call the function``    ``findIntegers(N, a, X, T1, T2);``    ``cout << endl;` `    ``// Test case 2``    ``N = 4, X = 2, T1 = 5, T2 = 6;``    ``int` `b[N] = { 2, 18, 22, 8 };` `    ``// Call the function``    ``findIntegers(N, b, X, T1, T2);` `    ``return` `0;``}`

## Java

 `// Java program to find the integers ``// that ends with either T1 or T2 ``// when squared and added X ``class` `GFG ``{` `    ``// Function to print the elements ``    ``// Not ending with T1 or T2 ``    ``static` `void` `findIntegers(``int` `n, ``int` `a[], ``                             ``int` `x, ``int` `t1, ``int` `t2) ``    ``{ ``    ` `        ``// Flag to check if none of the elements ``        ``// Do not end with t1 or t2 ``        ``boolean` `flag = ``true``; ``    ` `        ``// Traverse through all the elements ``        ``for` `(``int` `i = ``0``; i < n; i++) ``        ``{ ``    ` `            ``// Temporary variable to store the value ``            ``int` `temp = (``int``)Math.pow(a[i], ``2``) + x; ``    ` `            ``// If the last digit is neither t1 ``            ``// nor t2 then ``            ``if` `(temp % ``10` `!= t1 && temp % ``10` `!= t2) ``            ``{ ``    ` `                ``// Print the number ``                ``System.out.print(temp + ``" "``); ``    ` `                ``// Set the flag as False ``                ``flag = ``false``; ``            ``} ``        ``} ``    ` `        ``// If none of the elements ``        ``// meets the specification ``        ``if` `(flag)``        ``{``            ``System.out.println();``            ``System.out.print(``"-1"``); ``        ``}``    ``} ``    ` `    ``// Driver Code ``    ``public` `static` `void` `main(String args[]) ``    ``{ ``        ``// Test case 1 ``        ``int` `N = ``4``;``        ``int` `X = ``10``;``        ``int` `T1 = ``5``; ``        ``int` `T2 = ``6``; ``        ``int` `a[] = { ``3``, ``1``, ``4``, ``7` `}; ``    ` `        ``// Call the function ``        ``findIntegers(N, a, X, T1, T2); ``    ` `        ``// Test case 2 ``        ``N = ``4``; X = ``2``; T1 = ``5``; T2 = ``6``; ``        ``int` `b[] = { ``2``, ``18``, ``22``, ``8` `}; ``    ` `        ``// Call the function ``        ``findIntegers(N, b, X, T1, T2); ``    ``} ``}` `// This code is contributed by AnkitRai01`

## Python3

 `# Python3 program to find the integers ``# that ends with either T1 or T2 ``# when squared and added X ` `# Function to print the elements ``# Not ending with T1 or T2 ``def` `findIntegers(n, a, x, t1, t2): ` `    ``# Flag to check if none of the elements ``    ``# Do not end with t1 or t2 ``    ``flag ``=` `True` `    ``# Traverse through all the elements ``    ``for` `i ``in` `range``(n): ` `        ``# Temporary variable to store the value ``        ``temp ``=` `pow``(a[i], ``2``) ``+` `x ` `        ``# If the last digit is neither t1 ``        ``# nor t2 then ``        ``if``(temp ``%` `10` `!``=` `t1 ``and``           ``temp ``%` `10` `!``=` `t2): ` `            ``# Print the number ``            ``print``(temp, end ``=` `" "``) ` `            ``# Set the flag as False ``            ``flag ``=` `False` `    ``# If none of the elements ``    ``# meets the specification ``    ``if` `flag: ``        ``print``(``-``1``) ` `# Driver Code ` `# Test case 1 ``N , X , T1 , T2 ``=` `4` `, ``10` `, ``5` `, ``6``a ``=` `[ ``3``, ``1``, ``4``, ``7` `] ` `# Call the function ``findIntegers(N, a, X, T1, T2); ``print``() ` `# Test case 2 ``N , X , T1 , T2 ``=` `4` `, ``2` `, ``5` `, ``6``b ``=` `[ ``2``, ``18``, ``22``, ``8` `]``    ` `# Call the function ``findIntegers(N, b, X, T1, T2)` `# This code is contributed by divyamohan123`

## C#

 `// C# program to find the integers ``// that ends with either T1 or T2 ``// when squared and added X ``using` `System;``    ` `class` `GFG ``{` `    ``// Function to print the elements ``    ``// Not ending with T1 or T2 ``    ``static` `void` `findIntegers(``int` `n, ``int` `[]a, ``                             ``int` `x, ``int` `t1, ``int` `t2) ``    ``{ ``    ` `        ``// Flag to check if none of the elements ``        ``// Do not end with t1 or t2 ``        ``bool` `flag = ``true``; ``    ` `        ``// Traverse through all the elements ``        ``for` `(``int` `i = 0; i < n; i++) ``        ``{ ``    ` `            ``// Temporary variable to store the value ``            ``int` `temp = (``int``)Math.Pow(a[i], 2) + x; ``    ` `            ``// If the last digit is neither t1 ``            ``// nor t2 then ``            ``if` `(temp % 10 != t1 && ``                ``temp % 10 != t2) ``            ``{ ``    ` `                ``// Print the number ``                ``Console.Write(temp + ``" "``); ``    ` `                ``// Set the flag as False ``                ``flag = ``false``; ``            ``} ``        ``} ``    ` `        ``// If none of the elements ``        ``// meets the specification ``        ``if` `(flag)``        ``{``            ``Console.WriteLine();``            ``Console.Write(``"-1"``); ``        ``}``    ``} ``    ` `    ``// Driver Code ``    ``public` `static` `void` `Main(String []args) ``    ``{ ``        ``// Test case 1 ``        ``int` `N = 4;``        ``int` `X = 10;``        ``int` `T1 = 5; ``        ``int` `T2 = 6; ``        ``int` `[]a = { 3, 1, 4, 7 }; ``    ` `        ``// Call the function ``        ``findIntegers(N, a, X, T1, T2); ``    ` `        ``// Test case 2 ``        ``N = 4; X = 2; T1 = 5; T2 = 6; ``        ``int` `[]b = { 2, 18, 22, 8 }; ``    ` `        ``// Call the function ``        ``findIntegers(N, b, X, T1, T2); ``    ``} ``}` `// This code is contributed by 29AjayKumar`

## Javascript

 ``

Output:
```19 11 59
-1```

Time Complexity: O(N), where N is the size of the given array.
Auxiliary Space: O(1) as no extra space is being used.

Previous
Next