#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<string.h> #include<math.h>
int multiply(int a,int b) { int i; int temp=a; printf("\na=%d b=%d\n",a,b); for(i=1;i<b;i++) a+=temp; printf("\nfinal a = %d",a); return(a); } void main () { int x,rem,quo=0,i,j; char p[20]; clrscr(); scanf("%d",&x); itoa(x,p,3); rem=(int)p[strlen(p)-1]-48; printf("%dRemainder\n",rem); for(i=strlen(p)-2,j=0;i>=0;i--,j++) { printf("p[j] = %d",p[j]-48); // quo+=(p[j]-48)*pow(3,i); quo+=multiply(p[j]-48,pow(3,i)); printf("\nquo=%d",quo); } printf("\nQuotient=%d",quo); printf("\n%s",p); getch(); } taking base 3 will convert the number into the base 3 form .. for example let x=100 the number to be divided by three. so 100 in base 10 = 10201 in base 3 . we get base 3 by consecutive divisions by 3 so the last number will always be the remainder ie 1 . rest 1 0 2 0 will be the quotient. | | | | index: 3 2 1 0 so p[j]-48 will convert the char to integer and mutiply it wil 3 ^ power ( index ) the answer will be the quotient. On Sat, Jul 30, 2011 at 12:15 AM, aditi garg <aditi.garg.6...@gmail.com>wrote: > @Samm : Im not able to understand ur logic...im not getting the correct > ans...can u explain the working taking n as 7? > > > On Sat, Jul 30, 2011 at 12:25 PM, SAMM <somnath.nit...@gmail.com> wrote: > >> Single bit shift... >> >> int divide(int n) >> { >> n-=1; >> n>>=1; >> return n; >> } >> >> On 7/30/11, tech rascal <techrascal...@gmail.com> wrote: >> > hw will u get the ans on repeated subtraction from the sum of the >> digits?? >> > I mean ....if I hv 2 divide 27 by 3 thn first I'll find sum of the >> digits >> > i.e, 2+7=9 >> > then I'll apply repeated subtraction on 9, so hw will i reach to the >> ans?? >> > >> > >> > On Sat, Jul 30, 2011 at 10:05 AM, nivedita arora < >> > vivaciousnived...@gmail.com> wrote: >> > >> >> >> >> @brijesh- >> >> itoa basically converts integer to string ..we are using the fact tht >> >> a number is multiple of 3 if its sum is multiple of 3 >> >> . we have int as string and we can traverse it ..for each character >> >> apply >> >> int sum+=*c-'0' (ankur missed the star :P) >> >> then on sum we use repeated subtraction...i hope its clear . >> >> >> >> we are using all this just coz we have to use itoa ..otherwise there >> >> are more methods (check my frst post ) >> >> >> >> >> >> On Jul 30, 4:34 am, brijesh <brijeshupadhyay...@gmail.com> wrote: >> >> > @ankur I didnt get this... could u or anyone please elaborate! >> >> > >> >> > On Jul 30, 12:43 am, Ankur Khurana <ankur.kkhur...@gmail.com> wrote: >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > > when you use itoa , what you get is a string. get the sum of all >> the >> >> digits >> >> > > , using c-'0' and then use repeated subtraction . . . >> >> > >> >> > > On Sat, Jul 30, 2011 at 1:01 AM, sukhmeet singh < >> >> sukhmeet2...@gmail.com>wrote: >> >> > >> >> > > > repeated subtraction !! >> >> > >> >> > > > On Sat, Jul 30, 2011 at 12:52 AM, nivedita arora < >> >> > > > vivaciousnived...@gmail.com> wrote: >> >> > >> >> > > >> Without using /,% and * operators. write a function to divide a >> >> number >> >> > > >> by 3. itoa() function is available. >> >> > >> >> > > >> all i cn thnk of is to use shift operator and addition , >> >> x/3=e^(logx- >> >> > > >> log3) or repetitive subtraction >> >> > >> >> > > >> but none of them uses itoa() ..ne idea how its done? >> >> > > >> thnks ! >> >> > >> >> > > >> -- >> >> > > >> You received this message because you are subscribed to the >> Google >> >> Groups >> >> > > >> "Algorithm Geeks" group. >> >> > > >> To post to this group, send email to algogeeks@googlegroups.com >> . >> >> > > >> To unsubscribe from this group, send email to >> >> > > >> algogeeks+unsubscr...@googlegroups.com. >> >> > > >> For more options, visit this group at >> >> > > >>http://groups.google.com/group/algogeeks?hl=en. >> >> > >> >> > > > -- >> >> > > > You received this message because you are subscribed to the >> Google >> >> Groups >> >> > > > "Algorithm Geeks" group. >> >> > > > To post to this group, send email to algogeeks@googlegroups.com. >> >> > > > To unsubscribe from this group, send email to >> >> > > > algogeeks+unsubscr...@googlegroups.com. >> >> > > > For more options, visit this group at >> >> > > >http://groups.google.com/group/algogeeks?hl=en. >> >> > >> >> > > -- >> >> > > Ankur Khurana >> >> > > Computer Science >> >> > > Netaji Subhas Institute Of Technology >> >> > > Delhi. >> >> >> >> -- >> >> You received this message because you are subscribed to the Google >> Groups >> >> "Algorithm Geeks" group. >> >> To post to this group, send email to algogeeks@googlegroups.com. >> >> To unsubscribe from this group, send email to >> >> algogeeks+unsubscr...@googlegroups.com. >> >> For more options, visit this group at >> >> http://groups.google.com/group/algogeeks?hl=en. >> >> >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "Algorithm Geeks" group. >> > To post to this group, send email to algogeeks@googlegroups.com. >> > To unsubscribe from this group, send email to >> > algogeeks+unsubscr...@googlegroups.com. >> > For more options, visit this group at >> > http://groups.google.com/group/algogeeks?hl=en. >> > >> > >> >> >> -- >> Somnath Singh >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to algogeeks@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/algogeeks?hl=en. >> >> > > > -- > Aditi Garg > Undergraduate Student > Electronics & Communication Divison > NETAJI SUBHAS INSTITUTE OF TECHNOLOGY > Sector 3, Dwarka > New Delhi > > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- The more you sweat in the field, the less you bleed in war." Ankit Minglani -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.