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.

Reply via email to