Click here to Skip to main content
11,641,387 members (60,707 online)

Algorithms

 
GeneralRe: Factorials Pin
Ian Uy25-Jun-08 6:32
memberIan Uy25-Jun-08 6:32 
GeneralRe: Factorials Pin
Tim Craig25-Jun-08 8:55
memberTim Craig25-Jun-08 8:55 
GeneralRe: Factorials Pin
Luc Pattyn25-Jun-08 11:01
mvpLuc Pattyn25-Jun-08 11:01 
GeneralRe: Factorials Pin
Tim Craig25-Jun-08 21:06
memberTim Craig25-Jun-08 21:06 
AnswerRe: Factorials Pin
cp987624-Jun-08 12:33
membercp987624-Jun-08 12:33 
AnswerRe: Factorials Pin
Matthew Butler24-Jun-08 12:38
memberMatthew Butler24-Jun-08 12:38 
GeneralRe: Factorials Pin
cp987624-Jun-08 14:05
membercp987624-Jun-08 14:05 
GeneralRe: Factorials Pin
Luc Pattyn24-Jun-08 15:02
mvpLuc Pattyn24-Jun-08 15:02 
GeneralRe: Factorials Pin
cp987624-Jun-08 20:09
membercp987624-Jun-08 20:09 
GeneralRe: Factorials Pin
Luc Pattyn24-Jun-08 23:53
mvpLuc Pattyn24-Jun-08 23:53 
GeneralRe: Factorials Pin
cp987625-Jun-08 2:27
membercp987625-Jun-08 2:27 
GeneralRe: Factorials Pin
Luc Pattyn25-Jun-08 2:34
mvpLuc Pattyn25-Jun-08 2:34 
GeneralRe: Factorials Pin
cp987625-Jun-08 2:40
membercp987625-Jun-08 2:40 
AnswerRe: Factorials Pin
tim_one14-Jul-08 8:37
membertim_one14-Jul-08 8:37 
cp9876 wrote:
...

There is a little known fact (don't ask me how I know it!) that

if n = 5q+r with 0 <= r < 5

then n! has the same rightmost non-zero digit as 2^n x q! x r!


That should be 2^q rather than 2^n, and then it's valid for all n > 4. Removing recursion, here's one way to write it (in Python):
def f(n):
    result = 1
    while n > 1:
        n, r = divmod(n, 5)
        result = result * (6, 2, 4, 8)[n & 3] * (1, 1, 2, 6, 4)[r] % 10
    return result

and that can be simplified a bit by using a larger table:

FACTAB = 6, 6, 2, 6, 4, 2, 2, 4, 2, 8, 4, 4, 8, 4, 6, 8, 8, 6, 8, 2
 
def f(n):
    result = 1
    while n > 1:
        result = result * FACTAB[n % 20] % 10
        n //= 5
    return result


AnswerRe: Factorials Pin
Arash Partow25-Jun-08 2:14
memberArash Partow25-Jun-08 2:14 
GeneralRe: Factorials Pin
Ian Uy25-Jun-08 6:26
memberIan Uy25-Jun-08 6:26 
QuestionHow to determine the next x,y coordinate for a tank in a 2-D game... Pin
Edmundisme18-Jun-08 8:35
memberEdmundisme18-Jun-08 8:35 
AnswerRe: How to determine the next x,y coordinate for a tank in a 2-D game... Pin
73Zeppelin18-Jun-08 11:38
member73Zeppelin18-Jun-08 11:38 
GeneralRe: How to determine the next x,y coordinate for a tank in a 2-D game... Pin
Matthew Butler18-Jun-08 11:44
memberMatthew Butler18-Jun-08 11:44 
GeneralRe: How to determine the next x,y coordinate for a tank in a 2-D game... Pin
73Zeppelin18-Jun-08 22:00
member73Zeppelin18-Jun-08 22:00 
GeneralRe: How to determine the next x,y coordinate for a tank in a 2-D game... Pin
Edmundisme18-Jun-08 12:00
memberEdmundisme18-Jun-08 12:00 
AnswerRe: How to determine the next x,y coordinate for a tank in a 2-D game... Pin
Matthew Butler18-Jun-08 11:41
memberMatthew Butler18-Jun-08 11:41 
GeneralRe: How to determine the next x,y coordinate for a tank in a 2-D game... Pin
Edmundisme18-Jun-08 12:01
memberEdmundisme18-Jun-08 12:01 
JokeRe: How to determine the next x,y coordinate for a tank in a 2-D game... Pin
CPallini18-Jun-08 21:19
mvpCPallini18-Jun-08 21:19 
QuestionPolyline offset algorithm Pin
beko16-Jun-08 21:59
memberbeko16-Jun-08 21:59 
AnswerRe: Polyline offset algorithm Pin
Alan Balkany17-Jun-08 4:07
memberAlan Balkany17-Jun-08 4:07 
GeneralRe: Polyline offset algorithm Pin
beko17-Jun-08 4:43
memberbeko17-Jun-08 4:43 
QuestionRe: Polyline offset algorithm Pin
CPallini17-Jun-08 7:03
mvp CPallini17-Jun-08 7:03 
AnswerRe: Polyline offset algorithm Pin
beko17-Jun-08 8:26
memberbeko17-Jun-08 8:26 
GeneralRe: Polyline offset algorithm Pin
cp987617-Jun-08 12:10
membercp987617-Jun-08 12:10 
AnswerRe: Polyline offset algorithm Pin
Arash Partow18-Jun-08 1:22
memberArash Partow18-Jun-08 1:22 
GeneralRe: Polyline offset algorithm Pin
beko18-Jun-08 19:55
memberbeko18-Jun-08 19:55 
QuestionWhat's the period of (cos ax)(sin bx)? Pin
sherifffruitfly14-Jun-08 10:00
membersherifffruitfly14-Jun-08 10:00 
AnswerRe: What's the period of (cos ax)(sin bx)? Pin
cp987614-Jun-08 19:03
membercp987614-Jun-08 19:03 
AnswerRe: What's the period of (cos ax)(sin bx)? Pin
MarkBrock15-Jun-08 2:00
memberMarkBrock15-Jun-08 2:00 
AnswerRe: What's the period of (cos ax)(sin bx)? Pin
CPallini15-Jun-08 22:02
mvp CPallini15-Jun-08 22:02 
QuestionQuaternion to Euler Pin
Xmen 11-Jun-08 3:08
member Xmen 11-Jun-08 3:08 
AnswerRe: Quaternion to Euler Pin
cmk11-Jun-08 11:27
membercmk11-Jun-08 11:27 
GeneralRe: Quaternion to Euler Pin
Xmen 11-Jun-08 12:48
member Xmen 11-Jun-08 12:48 
AnswerRe: Quaternion to Euler Pin
Mark Churchill12-Jun-08 18:38
memberMark Churchill12-Jun-08 18:38 
QuestionGraphical Object drawing algorithms Pin
Monty29-Jun-08 2:59
memberMonty29-Jun-08 2:59 
AnswerRe: Graphical Object drawing algorithms Pin
73Zeppelin9-Jun-08 3:11
member 73Zeppelin9-Jun-08 3:11 
GeneralRe: Graphical Object drawing algorithms Pin
Monty29-Jun-08 3:24
memberMonty29-Jun-08 3:24 
GeneralRe: Graphical Object drawing algorithms Pin
73Zeppelin9-Jun-08 3:37
member 73Zeppelin9-Jun-08 3:37 
GeneralRe: Graphical Object drawing algorithms Pin
Tim Craig9-Jun-08 17:37
memberTim Craig9-Jun-08 17:37 
GeneralRe: Graphical Object drawing algorithms Pin
Monty29-Jun-08 21:02
memberMonty29-Jun-08 21:02 
GeneralRe: Graphical Object drawing algorithms Pin
Tim Craig9-Jun-08 21:15
memberTim Craig9-Jun-08 21:15 
GeneralRe: Graphical Object drawing algorithms Pin
Monty29-Jun-08 22:17
memberMonty29-Jun-08 22:17 
QuestionWhat's the most popular algorithm for video compression in industry? Pin
followait7-Jun-08 16:55
memberfollowait7-Jun-08 16:55 
AnswerRe: What's the most popular algorithm for video compression in industry? Pin
73Zeppelin8-Jun-08 8:47
member 73Zeppelin8-Jun-08 8:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web03 | 2.8.150731.1 | Last Updated 1 Aug 2015
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid