468,296 Members | 1,270 Online

# fuction to divide by three

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

May 26 '07 #1
12 6751
ra******@gmail.com writes:
Without using /,% and * operators. write a function to divide a
number by 3.

--
Regards,
Hallvard
May 26 '07 #2
ra******@gmail.com 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 - da****@sonic.net - 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
May 26 '07 #3
In article <hb**************@bombur.uio.no>,
Hallvard B Furuseth <h.**********@usit.uio.nowrote:
ra******@gmail.com 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 - da****@sonic.net - 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
May 26 '07 #4
ra******@gmail.com 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)

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>
<http://www.securityfocus.com/columnists/423>
<http://www.aaxnet.com/editor/edit043.html>
cbfalconer at maineline dot net

--
Posted via a free Usenet account from http://www.teranews.com

May 26 '07 #5
In article <46***************@yahoo.com>,
CBFalconer <cb********@yahoo.comwrote:
ra******@gmail.com 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 - da****@sonic.net - 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
May 26 '07 #6
CBFalconer said:
ra******@gmail.com 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.
May 26 '07 #7
On 2007-05-26 07:30:18 -0700, ra******@gmail.com 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
cl*******@gmail.com

May 26 '07 #8
On May 26, 3:30 pm, rajm2...@gmail.com 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;
}
May 28 '07 #9
ra******@gmail.com 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;
}

--
Er*********@sun.com
May 29 '07 #10
ra******@gmail.com 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: <mailto:Th*************@gmail.com>

May 29 '07 #11
On May 28, 3:15 pm, "christian.bau" <christian....@cbau.wanadoo.co.uk>
wrote:
On May 26, 3:30 pm, rajm2...@gmail.com 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;
}
I like this one. I do see a minor problem for x == 0.

May 29 '07 #12
On May 29, 11:21 am, user923005 <dcor...@connx.comwrote:
On May 28, 3:15 pm, "christian.bau" <christian....@cbau.wanadoo.co.uk>
wrote:
On May 26, 3:30 pm, rajm2...@gmail.com 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;
}

I like this one. I do see a minor problem for x == 0.
As the wise baboon in "The Lion King" or Ben Pfaff might say:
"Look Harder."

Indeed, the matter is cared for.

May 29 '07 #13

### This discussion thread is closed

Replies have been disabled for this discussion.