Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Spiraling integers

by salva (Abbot)
on Aug 28, 2005 at 14:24 UTC ( #487258=note: print w/replies, xml ) Need Help??


in reply to Spiraling integers

in prolog...
matrix(S, M) :- length(M, S), matrix1(M, S). matrix1([], _). matrix1([H|T], S) :- length(H, S), matrix1(T, S). next(A, B, A, B). next(1, 0, 0, 1). next(0, 1, -1, 0). next(-1, 0, 0, -1). next(0, -1, 1, 0). solve(N, M) :- N2 is N*N, numlist(1, N2, L), matrix(N, M), solve(L, -1, 0, 1, 0, M). solve([], _, _, _, _, _). solve([Ix|T], X, Y, Dx, Dy, M) :- next(Dx, Dy, Dx1, Dy1), Y1 is Y+Dy1, X1 is X+Dx1, nth0(Y1, M, Row), nth0(X1, Row, Ix), !, solve(T, X1, Y1, Dx1, Dy1, M). :- solve(5, M), writeln(M).

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://487258]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2019-10-14 08:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?