The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
In my college days my programming friend makes a rigorous challenge with me. He asked me to divide two numbers without using division operator, it's sounds poor right. Division without using division operator is it possible for you?
You being a programmer, Impossible is nothing more than having two cups of coffee instead of a coffee, lets code a C program to divide two numbers without using division operator.
#include <stdio.h> int division(int, int); int main() { int num1, num2; printf("\nEnter any two integers : "); scanf("%d %d ", &num1, &num2); printf("Result is %d ", division(num1, num2)); return 0; } int division(int num1, int num2) { int temp = 1, quotient = 0; while (num2 <= num1) { num2 <<= 1; temp <<= 1; } while (temp > 1) { num2 >>= 1; temp >>= 1; if(num1 >= num2) { num1 -= num2; quotient += temp; } } return quotient; }
Enter any two integers : 4 2 Result is : 2
Lets look closely in first while-loop inside division function.
Iteration 1: while(num2 <= num1);. i.e) while(2 <= 4)
Iteration 2: while(num2 <= num1);. i.e) while(4 <= 4)
Now looking closely in second while-loop inside division function Iteration 1: while(temp > 1) i.e) while(4 > 1)
Iteration 3: while( temp > 1);. ie) while(2 > 1) condition true
Condition fails, thus value inside quotient i.e) 2 is outputted.
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019