python int has no bounds, it can scale upto the mem u have available on your computer.
On Thu, May 13, 2010 at 7:53 AM, Nikhil Agarwal <nikhil.bhoja...@gmail.com>wrote: > @jitendra: your python code is awesome and it works.:) > > > On Wed, May 12, 2010 at 6:37 PM, divya jain <sweetdivya....@gmail.com>wrote: > >> thanx to all 4 the solutions.. >> >> >> On 3 May 2010 18:39, Varun Nagpal <varun.nagp...@gmail.com> wrote: >> >>> @Rajesh gave a simple elegant solution. >>> >>> A look at a Linux calculator : you can even calculate 999999! = >>> 8.854887824e+5584950 ....in few seconds. I just looked at the code(its open >>> source right!), which is not so easy to understand in few minutes. >>> >>> Here is the some part of code I extracted from source files: >>> >>> /* Size of the multiple precision values */ >>> #define MP_SIZE 1000 >>> >>> /* Base for numbers */ >>> #define MP_BASE 10000 >>> >>> /* Object for a high precision floating point number representation >>> * >>> * x = sign * (MP_BASE^(exponent-1) + MP_BASE^(exponent-2) + ...) >>> */ >>> typedef struct >>> { >>> /* Sign (+1, -1) or 0 for the value zero */ >>> int sign; //, im_sign; >>> >>> /* Exponent (to base MP_BASE) */ >>> int exponent; //, im_exponent; >>> >>> /* Normalized fraction */ >>> int fraction[MP_SIZE]; //, im_fraction[MP_SIZE]; >>> } MPNumber; >>> >>> >>> void mp_factorial(const MPNumber *x, MPNumber *z) >>> { >>> int i, value; >>> >>> /* 0! == 1 */ >>> if (mp_is_zero(x)) { >>> mp_set_from_integer(1, z); >>> return; >>> } >>> if (!mp_is_natural(x)) { >>> /* Translators: Error displayed when attempted take the factorial >>> of a fractional number */ >>> mperr(_("Factorial is only defined for natural numbers")); >>> mp_set_from_integer(0, z); >>> return; >>> } >>> >>> /* Convert to integer - if couldn't be converted then the factorial >>> would be too big anyway */ >>> value = mp_cast_to_int(x); >>> mp_set_from_mp(x, z); >>> for (i = 2; i < value; i++) >>> mp_multiply_integer(z, i, z); >>> } >>> >>> mp_multiply_integer(z, i, z) subroutine is too big too put in here, too >>> see its code visit: http://live.gnome.org/Gcalctool >>> <http://live.gnome.org/Gcalctool> >>> On Mon, May 3, 2010 at 2:34 PM, Anil C R <cr.a...@gmail.com> wrote: >>> >>>> @Jitendra >>>> but that's no fun [?] >>>> >>>> ----- >>>> Anil >>>> >>>> >>>> >>>> On Mon, May 3, 2010 at 5:12 PM, vignesh radhakrishnan < >>>> rvignesh1...@gmail.com> wrote: >>>> >>>>> @siddharth and prasoon either design a very long integer library >>>>> yourself, or use gmp library in cpp or BigInteger Class in java. >>>>> >>>>> Regards, >>>>> vignesh >>>>> >>>>> On 3 May 2010 09:46, siddharth srivastava <akssps...@gmail.com> wrote: >>>>> >>>>>> But is there any way to accomplish this without an array ? Even for >>>>>> 100!. >>>>>> >>>>>> >>>>>> On 2 May 2010 06:15, Prasoon Mishra <prasoonbluel...@gmail.com>wrote: >>>>>> >>>>>>> I think challenge here is not the Execution time, but the storage. >>>>>>> 300 ! or 400! should generally go beyond the storage capabilities of >>>>>>> long >>>>>>> long ints in cpp. >>>>>>> @ Rohit Saraf: Hence, I don't know if even tail recursion will >>>>>>> ultimately be able to store the output. >>>>>>> I think Rajesh Patidar's answer fits the bill well, in terms of >>>>>>> storage. >>>>>>> >>>>>>> >>>>>>> On Sun, May 2, 2010 at 2:23 PM, vignesh radhakrishnan < >>>>>>> rvignesh1...@gmail.com> wrote: >>>>>>> >>>>>>>> I agree with abhijith. But given some very large x for which i would >>>>>>>> have to find factorial. >>>>>>>> I would either >>>>>>>> (i) use gmp in cpp or BigInteger or java if its not a lab exercise >>>>>>>> or an interview >>>>>>>> (ii) use simple brute multiplication algorithm. >>>>>>>> The second approach requires >>>>>>>> (a) The no. of digits in n! for making storage available >>>>>>>> (b) The calculation itself which I would brute force >>>>>>>> >>>>>>>> References: >>>>>>>> >>>>>>>> http://inder-gnu.blogspot.com/2009/08/find-number-of-digits-in-factorial-of.html >>>>>>>> >>>>>>>> http://stackoverflow.com/questions/1113167/can-one-know-how-large-a-factorial-would-be-before-calculating-it >>>>>>>> http://delphiforfun.org/programs/big_factorials.htm >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 2 May 2010 13:59, Rohit Saraf <rohit.kumar.sa...@gmail.com>wrote: >>>>>>>> >>>>>>>>> google it... u will gt it >>>>>>>>> >>>>>>>>> i am on mobile... cannot explain now.. >>>>>>>>> >>>>>>>>> On 5/2/10, divya jain <sweetdivya....@gmail.com> wrote: >>>>>>>>> > wat is tail recursion plz explan in detail >>>>>>>>> > >>>>>>>>> > On 2 May 2010 08:15, Rohit Saraf <rohit.kumar.sa...@gmail.com> >>>>>>>>> wrote: >>>>>>>>> > >>>>>>>>> >> @divya use tail recursion and rest should be fine.. >>>>>>>>> >> >>>>>>>>> >> -- >>>>>>>>> >> -------------------------------------------------- >>>>>>>>> >> Rohit Saraf >>>>>>>>> >> Second Year Undergraduate, >>>>>>>>> >> Dept. of Computer Science and Engineering >>>>>>>>> >> IIT Bombay >>>>>>>>> >> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14> >>>>>>>>> <http://www.cse.iitb.ac.in/%7Erohitfeb14> >>>>>>>>> >> >>>>>>>>> >> -- >>>>>>>>> >> 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<algogeeks%2bunsubscr...@googlegroups.com> >>>>>>>>> <algogeeks%2bunsubscr...@googlegroups.com<algogeeks%252bunsubscr...@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 algoge...@googlegroups.com. >>>>>>>>> > To unsubscribe from this group, send email to >>>>>>>>> > algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com> >>>>>>>>> . >>>>>>>>> > For more options, visit this group at >>>>>>>>> > http://groups.google.com/group/algogeeks?hl=en. >>>>>>>>> > >>>>>>>>> > >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> -------------------------------------------------- >>>>>>>>> Rohit Saraf >>>>>>>>> Second Year Undergraduate, >>>>>>>>> Dept. of Computer Science and Engineering >>>>>>>>> IIT Bombay >>>>>>>>> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "Algorithm Geeks" group. >>>>>>>>> To post to this group, send email to algoge...@googlegroups.com. >>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com> >>>>>>>>> . >>>>>>>>> For more options, visit this group at >>>>>>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> There are two kinds of people. Those who care for others and The >>>>>>>> others >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Algorithm Geeks" group. >>>>>>>> To post to this group, send email to algoge...@googlegroups.com. >>>>>>>> To unsubscribe from this group, send email to >>>>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com. >>>>>>> To unsubscribe from this group, send email to >>>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com> >>>>>>> . >>>>>>> For more options, visit this group at >>>>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Siddharth Srivastava >>>>>> >>>>>> Human Knowledge is for all >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Algorithm Geeks" group. >>>>>> To post to this group, send email to algoge...@googlegroups.com. >>>>>> To unsubscribe from this group, send email to >>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com> >>>>>> . >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> There are two kinds of people. Those who care for others and The others >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Algorithm Geeks" group. >>>>> To post to this group, send email to algoge...@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/algogeeks?hl=en. >> > > > > -- > Thanks & Regards > Nikhil Agarwal > Senior Undergraduate > Computer Science & Engineering, > National Institute Of Technology, Durgapur,India > http://tech-nikk.blogspot.com > > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algoge...@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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 algoge...@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.
<<329.png>>