Skip to content
Related Articles

Related Articles

Find the integers that doesnot ends with T1 or T2 when squared and added X
  • Difficulty Level : Basic
  • Last Updated : 11 Sep, 2019

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to find the integers
// that ends with either T1 or T2
// when squared and added X
  
#include <bits/stdc++.h>
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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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) +
  
        # 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


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
Recommended Articles
Page :