Recursive is very expensive operation. I think, in python the best will be reduce(lambda x,y: x*y, range(1,501))
On Sun, May 23, 2010 at 12:45 PM, Carlos Guia <[email protected]> wrote: > I don't know much python, but you can probably write it recursively to make > it look even simpler. > > Carlos Guía > > > > On Sun, May 23, 2010 at 4:42 AM, Luke Pebody <[email protected]>wrote: > >> Depends on your programming language. In python it would be: >> a = 1 >> k = 1 >> while (k <= 500): >> a *= k >> k += 1 >> print a >> >> >> On Sun, May 23, 2010 at 9:24 AM, Bharath Raghavendran >> <[email protected]> wrote: >> > you can calculate nCr using a dynamic programming type algo as nCr = >> n-1Cr + >> > n-1Cr-1. >> > calculate for largest possible n once .. and once thats done, getting >> this >> > value would be O(1). Calculating factorial of 500 looks scary >> > >> > On 23 May 2010 13:49, Mikhail Dektyarev < >> [email protected]> >> > wrote: >> >> >> >> As I know, dict uses trees, not hashes. >> >> And to find the right size is not difficult. 501x501 will be enough, >> >> filling with 0 by default. >> >> >> >> On Sun, May 23, 2010 at 12:17 PM, Atanas Banov <[email protected]> >> wrote: >> >>> >> >>> errr, no. hash lookup is O(1), not log... you are thinking balanced >> trees >> >>> or some such. >> >>> also while 2D array will be a bit faster, you will have to deal with >> >>> proper sizing and filling default value. >> >>> >> >>> On Sat, May 22, 2010 at 8:18 PM, Terence <[email protected]> >> wrote: >> >>>> >> >>>> Another point is to use array (2-D list) instead of dict to implement >> >>>> cache. this will reduce the time complexity of cache lookup operation >> from >> >>>> O(logN) to O(1) >> >>>> >> >>> >> >>> -- >> >>> You received this message because you are subscribed to the Google >> Groups >> >>> "google-codejam" group. >> >>> To post to this group, send email to [email protected]. >> >>> To unsubscribe from this group, send email to >> >>> [email protected]<google-code%[email protected]> >> . >> >>> For more options, visit this group at >> >>> http://groups.google.com/group/google-code?hl=en. >> >> >> >> >> >> >> >> -- >> >> Best regards, Дектярев Михаил >> >> >> >> -- >> >> You received this message because you are subscribed to the Google >> Groups >> >> "google-codejam" group. >> >> To post to this group, send email to [email protected]. >> >> To unsubscribe from this group, send email to >> >> [email protected]<google-code%[email protected]> >> . >> >> For more options, visit this group at >> >> http://groups.google.com/group/google-code?hl=en. >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "google-codejam" group. >> > To post to this group, send email to [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]<google-code%[email protected]> >> . >> > For more options, visit this group at >> > http://groups.google.com/group/google-code?hl=en. >> > >> >> -- >> You received this message because you are subscribed to the Google Groups >> "google-codejam" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<google-code%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/google-code?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups > "google-codejam" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-code%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-code?hl=en. > -- Best regards, Дектярев Михаил -- You received this message because you are subscribed to the Google Groups "google-codejam" 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/google-code?hl=en.
