### Extracting square roots mentally at an extremely fast speed

Finding the square root of a number is the inverse operation of squaring that number. Remember, the square of a number is that number times itself.
Square of 5 = 52 = 5 × 5 = 25. Therefore, the square root of 25 is 5. The perfect squares are the squares of the whole numbers such as 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 so on and so forth.

Before learning the procedure, it is wise that the performer memorizes the squares of the numbers 1-10 which is very elementary.

To extract the square root of any perfect square, follow the steps presented below:

Step-1:  Look at the magnitude of the “hundreds number” (the numbers preceding the last two digits) and find the largest square that is equal to or less than the number. This is the 1stpart of the answer.

Step-2:  Now, look at the last (unit’s) digit of the number. If the number ends in a:

0 -> then the ending digit of the answer is a 0
1 -> then the ending digit of the answer is 1 or 9.
4 -> then the ending digit of the answer is 2 or 8.
5 -> then the ending digit of the answer is a 5.
6 -> then the ending digit of the answer is 4 or 6.
9 -> then the ending digit of the answer is 3 or 7.

To determine the right answer from 2 possible answers (other than 0 and 5), mentally multiply the findings in step-1 with its next higher number. If the left extremities (the numbers preceding the last two digits) are greater than the product, the right digit would be the greater option (9,8,7,6) and if left extremities are less than the product, the right digit would be the smaller option (1,2,3,4).

Let us illustrate the trick with some examples:

Extracting square root of 784 (√784)
1. Look at the magnitude of the “hundreds number” (the numbers preceding the last two digits) which is 7. Now, 22=4 and 32=9. So, the highest square in 7 is 2 which is the 1stpart of the answer.
2. Now, look at the last digit of the number which is 4. We know if the number ends in a 4 then the ending digit of the answer would be 2 or 8.
Now, 2 (findings in step-1) times its next higher number which is 3 is (2×3=) 6. The left extremity which is 7 is greater than 6. Therefore, the right digit of the answer must be the greater option which is 8.

So, our final answer is 28.

Let’s go for another example: √3969 (square root of 3969)
1. The magnitude of the “hundreds number” is 39. Now, 62=36 and 72=49. So, the highest square in 39 is 6.
2. Looking at the last digit of the number which is 9; we know if the number ends in a 9 then the last digit of the answer would be 3 or 7.
Now, 6 (findings in step-1) times its next higher number 7 is (6×7=) 42. And 39 (the left extremities) is less than 42. Therefore, the right digit of the answer must be the smaller option i.e. 3.

So, our final answer is 63.

So, Square root of 5476 (√5476) = ?
1. The numbers preceding the last two digits is 54; the highest square in it is 7.
2. The last digit of the number is 6 so; the ending digit of the answer would be 4 or 6.
Now, 7 times its next higher number (8) is 56. Since 54 is less than 56, the right digit of the answer must be the smaller option i.e. 4.

So, our final answer is 74.

Square root of 13689 (√13689) = ?
1. Focusing 136; the highest square in it is 11 (since, 11= 121 and 12= 144).
2. The last digit of the number is 9 so; the ending digit of the answer would be 3 or 7.
11 times its next higher number (12) is 132 and 136 is greater than 132, so the right digit of the answer would be 7.

So, the final answer is 117.

Square root of 15376 (√15376) = ?
1. The highest square in 153 is 12 (12= 144 and 13= 169).
2. The last digit of the number 6 makes the ending digit of the answer a possibility of 4 or 6.
12 times its next higher number (13) is 156. Since 153 is less than 156, the right digit of the answer must be 4 giving the final answer 124.

### C Questions

C Questions
C Questions

Note : All the programs are tested under Turbo C/C++ compilers.
It is assumed that,
Programs run under DOS environment, The underlying machine is an x86 system, Program is compiled using Turbo C/C++ compiler.
The program output may depend on the information based on this assumptions (for example sizeof(int) == 2 may be assumed).
Predict the output or error(s) for the following:

void main()
{
int const * p=5; printf("%d",++(*p));
}
Compiler error: Cannot modify a constant value.
Explanation:
p is a pointer to a "constant integer". But we tried to change the value of the "constant integer".
main()
{
char s[ ]="man"; int i;
for(i=0;s[ i ];i++)
printf("\n%c%c%c%c",s[ i ],*(s+i),*(i+s),i[s]);
}
aaaa nnnn
Explanation

### Zoho Interview | Set 1 (Advanced Programming Round)

Third Round: (Advanced Programming Round) Here they asked us to create a “Railway reservation system” and gave us 4 modules. The modules were:
1. Booking
2. Availability checking
3. Cancellation
4. Prepare chart
We were asked to create the modules for representing each data first and to continue with the implementation phase.

My Solution :