hey there i did play around with bit shifting sometime ago and was able to
do that.. but yeah i guess the one i posted is a bit different from what i
actually did before and is not applicable here. here is what we can do
int funcNoDiv(int divisor, int dividend)
{
if(divisor == dividend)
{
return 0;
}
else if( divisor > dividend)
{
return dividend;
}
else // divisor < dividend
{
while(divisor <= dividend)
{
divisor += divisor;
}
return dividend - divisor; //eg: pass 2, 19 ; you get 1 as return value
}
Add a condition for 0 divisor in the above logic.. Ill post the bit shifting
algo soon
~_
On 10/7/07, Ajinkya Kale <[EMAIL PROTECTED]> wrote:
>
> @Vinay : Can you please explain the algorithm of your code..
>
> On 10/7/07, Vinay Chilakamarri < [EMAIL PROTECTED]> wrote:
> >
> > How about recursive way:
> >
> > int funcNoDiv(int divisor, int dividend)
> > {
> > //base case
> > if(divisor == dividend)
> > {
> > return 1;
> > }
> >
> > else if( divisor > dividend)
> > {
> > return dividend;
> > }
> >
> > else // divisor < dividend
> > {
> > while(divisor <= dividend)
> > {
> > divisor = divisor << 1;
> > remainder = remainder << 1;
> > }
> >
> > //now divisor > dividend
> >
> > divisor = divisor >> 1;
> > dividend = dividend >> 1;
> > quotient = quotient + funcNoDiv(dividend - divisor, tempdivisor)
> > }
> > On 10/7/07, megha <[EMAIL PROTECTED] > wrote:
> > >
> > >
> > > Hi all,
> > >
> > > I am looking for the program/algorithm to implement division without
> > > using divide operator?
> > >
> > > Any idea?
> > >
> > > Thanks
> > >
> > >
> > >
> > >
> > >
> >
> > > >
> >
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---