Velocity Reviews > fuction to divide by three

# fuction to divide by three

rajm2019@gmail.com
Guest
Posts: n/a

 05-26-2007
Without using /,% and * operators. write a function to divide a
number by 3.
itoa() function is available

Hallvard B Furuseth
Guest
Posts: n/a

 05-26-2007
http://www.velocityreviews.com/forums/(E-Mail Removed) writes:
> Without using /,% and * operators. write a function to divide a
> number by 3.

--
Regards,
Hallvard

Don Bruder
Guest
Posts: n/a

 05-26-2007
In article <(E-Mail Removed) .com>,
(E-Mail Removed) wrote:

> Without using /,% and * operators. write a function to divide a
> number by 3.
> itoa() function is available

Who needs itoa()? Assuming integer division and only positive inputs,
it's trivial, although not precisely efficient, or necessarily fast, to
simply do repetitive subtraction.

--
Don Bruder - (E-Mail Removed) - If your "From:" address isn't on my whitelist,
or the subject of the message doesn't contain the exact text "PopperAndShadow"
somewhere, any message sent to this address will go in the garbage without my

Don Bruder
Guest
Posts: n/a

 05-26-2007
In article <(E-Mail Removed)>,
Hallvard B Furuseth <(E-Mail Removed)> wrote:

> (E-Mail Removed) writes:
> > Without using /,% and * operators. write a function to divide a
> > number by 3.

>

Hey! I just had a great idea... Let's see if this one gets him dinged:

int DivBy3(int x)
{
int q;

for (q=0;x>2;x-=3,q++);
return q;
}

(ROT-13)
Bs pbhefr, guvf yvggyr "dhvpx-a-qvegl" jvyy bayl jbex sbe cbfvgvir
vachgf, naq vg'f tbvat gb or (pbzcnengviryl fcrnxvat) fybjre guna gur
frpbaq pbzvat sbe ovt vachgf, ohg vg'yy qb gur wbo. Naq vg fubhyq or
"nqinaprq" rabhtu gung gur grnpure jvyy fync uvz sbe boivbhf purngvat vs
ur npghnyyl hfrf vg - n pynff ng gur yriry guvf bar frrzf gb or onfrq ba
uvf "qb zl ubzrjbex sbe zr" erdhrfgf jba'g unir gur svefg pyhr nobhg gur
"snapl" gevpx bs penzzvat vg nyy vagb n sbe () ybbc (vs gurl'ir rira
yrnearq nobhg gurz ng nyy lrg) naq jvgu uvf qvfcynlrq yriry bs
vtabenapr, V unir ab qbhog ur'yy or hanoyr gb rira ORTVA rkcynvavat ubj
vg jbexf jura gur grnpure nfxf uvz. Ubcrshyyl rafhevat ng yrnfg na S ba
guvf nffvtazrag sbe purngvat.

--
Don Bruder - (E-Mail Removed) - If your "From:" address isn't on my whitelist,
or the subject of the message doesn't contain the exact text "PopperAndShadow"
somewhere, any message sent to this address will go in the garbage without my

Don Bruder
Guest
Posts: n/a

 05-26-2007
In article <(E-Mail Removed)>,
CBFalconer <(E-Mail Removed)> wrote:

> (E-Mail Removed) wrote:
> >
> > Without using /,% and * operators. write a function to divide a
> > number by 3.
> > itoa() function is available

>
> d = 0;
> while ((a -= 3) > 0) d++;
>
> (I think this is such as not to be assumed the poor students work)

Heh... GMTA

--
Don Bruder - (E-Mail Removed) - If your "From:" address isn't on my whitelist,
or the subject of the message doesn't contain the exact text "PopperAndShadow"
somewhere, any message sent to this address will go in the garbage without my

Richard Heathfield
Guest
Posts: n/a

 05-26-2007
CBFalconer said:

> (E-Mail Removed) wrote:
>>
>> Without using /,% and * operators. write a function to divide a
>> number by 3.
>> itoa() function is available

>
> d = 0;
> while ((a -= 3) > 0) d++;
>
> (I think this is such as not to be assumed the poor students work)

Since the itoa function is available, wouldn't it be simpler to use:

result_of_division_by_3 = itoa(n);

Of course, this assumes that itoa divides its numeric input by 3, but
that's not an unreasonable assumption, given the question text.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.

Clark Cox
Guest
Posts: n/a

 05-26-2007
On 2007-05-26 07:30:18 -0700, (E-Mail Removed) said:

> Without using /,% and * operators. write a function to divide a
> number by 3.
> itoa() function is available

Here ya' go; enjoy:

#include <stdbool.h>
#include <stdio.h>
#include <complex.h>

int divide(int n, unsigned d)
{
int j,l;
for(j=0;j<d;j-=(int)cpow(I,2));
{
int k=0;
if(n>=0) for(k=n,l=0;k>=j;k-=j,++l);
else for(k=-n,l=0;k>=j;k-=j,--l);
}

return l;
}

int divide_by_3(int i)
{
return divide(i, 3);
}

int main()
{
int i;

while(true)
{
printf("Enter a number (enter a non-number to quit): ");
fflush(stdout);

if(scanf("%d", &i) != 1)
{
return 0;
}
else
{
printf("%d / 3 == %d\n", i, divide_by_3(i));
}
}
}

--
Clark S. Cox III
(E-Mail Removed)

christian.bau
Guest
Posts: n/a

 05-28-2007
On May 26, 3:30 pm, (E-Mail Removed) wrote:
> Without using /,% and * operators. write a function to divide a
> number by 3.
> itoa() function is available

double divide_by_3 (double x) {
return x > 0.0 ? exp (log (x) - log (3.0)) :
x < 0.0 ? -exp (log (-x) - log (3.0)) : x;
}

Eric Sosman
Guest
Posts: n/a

 05-29-2007
(E-Mail Removed) wrote On 05/26/07 10:30,:
> Without using /,% and * operators. write a function to divide a
> number by 3.
> itoa() function is available

#include <stdlib.h>
int divideBy3(int aNumber) {
div_t d = div(aNumber, 3);
return d.quot;
}

--
(E-Mail Removed)

Kenneth Brody
Guest
Posts: n/a

 05-29-2007
(E-Mail Removed) wrote:
>
> Without using /,% and * operators. write a function to divide a
> number by 3.
> itoa() function is available

Untested:

int DivideByThree(int number)
{
char mybuf[64];
sprintf(mybuf,"exit `expr %d / 3`",number);
return( system(mybuf) );
}

--
+-------------------------+--------------------+-----------------------+
| Kenneth J. Brody | www.hvcomputer.com | #include |
| kenbrody/at\spamcop.net | www.fptech.com | <std_disclaimer.h> |
+-------------------------+--------------------+-----------------------+
Don't e-mail me at: <(E-Mail Removed)>