# 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.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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 `

Output:

```19 11 59
-1
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.