answer in psuedo code Given a sorted array A of n numbers an
answer in psuedo code
Given a sorted array A of n numbers and an additional number x, give an algorithm that checks if there is i so that (A[i])2 = xSolution
Basically we need to find out if A(i)*A(i)=x for any i from 1 to n.
Basically if square root x exists in array A. Let square root of x be sqx, we should also search for -sqx.
As A is already so we can do a binary search.
func search(A,st,end,x)
 {
    if(end<st)
    {
        return -1;
    }
    mid = st+(end-st)/2;
    if(A[mid]==x)
    {
        return mid;
    }
    else if (A[mid]>x)
    {
        search(A,st,mid-1,x)
    }
    else
    {
        search(A,mid+1,end,x)
    }
 }
We need to run search(A,1,n,sqx) and search(A,1,n,-sqx) if any of them return a value other than -1 then we have found the answer.
![answer in psuedo code Given a sorted array A of n numbers and an additional number x, give an algorithm that checks if there is i so that (A[i])2 = xSolutionBas answer in psuedo code Given a sorted array A of n numbers and an additional number x, give an algorithm that checks if there is i so that (A[i])2 = xSolutionBas](/WebImages/35/answer-in-psuedo-code-given-a-sorted-array-a-of-n-numbers-an-1103128-1761583299-0.webp)
