traverse the array once and ge product of all elements , this is dividend
now again traverse for each a[i] do division(divisor,a[i])

code for division without using /
#include<stdio.h>
int dividend, divisor, remainder;
/* Division function Computes the quotient and remainder of two numbers
using bit shifting */
int division(int tempdividend, int tempdivisor) {
     int quotient = 1;
     if (tempdivisor == tempdividend) {
           remainder = 0;
           return 1;
        } else if (tempdividend < tempdivisor) {
           remainder = tempdividend;
           return 0;
        }
        while (tempdivisor <= tempdividend) {
           /* Here divisor <>
              divisor and quotient */
           tempdivisor = tempdivisor << 1;
           quotient = quotient << 1;
        }
        /* We have reached the point where divisor > dividend,
        therefore divide divisor and quotient by two */
        tempdivisor = tempdivisor >> 1;
        quotient = quotient >> 1;

        /* Call division recursively for the difference to get the
        exact quotient */
        quotient = quotient + division(tempdividend - tempdivisor, divisor);

        return quotient;
    }

    /* Division of two numbers without using division operator */
   main() {
       printf ("\nEnter the Dividend: ");
       scanf("%d", &dividend);
       printf("\nEnter the Divisor: ");
       scanf("%d", &divisor);

         printf("\n%d / %d: quotient = %d", dividend, divisor,
division(dividend, divisor));
         printf("\n%d / %d: remainder = %d", dividend, divisor, remainder);
    }

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/algogeeks
-~----------~----~----~----~------~----~------~--~---

Reply via email to