প্রোলোগ (এসডাব্লুআইপিএল), 129/137 বাইট
g(1,R):-u(3,4,R).
g(L,R):-M is L-1,g(M,P),u(3,P,R).
u(N,1,R):-R is 3**N.
u(1,_,3).
u(N,M,R):-K is N-1,L is M-1,u(K,M,Y),u(Y,L,R).
গ্রাহামের সংখ্যা আউটপুট করতে, এর জন্য ক্যোয়ারী g(64,G).
(যদি এই কোয়েরির 8 টি বাইট গণনা করা হয় তবে দৈর্ঘ্য 137 বাইট):
?- g(64, G).
ERROR: Out of local stack
তবে যেমনটি আশা করা যায়, এটি স্ট্যাকের বাইরে চলে গেছে।
পরীক্ষা
?- u(3, 2, X).
X = 7625597484987
ব্যাকট্র্যাকিংয়ের কারণে এটি স্ট্যাকের বাইরে চলে যায়:
?- u(3, 2, X).
X = 7625597484987 ;
ERROR: Out of local stack
Ungolfed
নিরবচ্ছিন্ন সংস্করণটি কেবলমাত্র 3 এর জন্য নয়, সাধারণ আপ-তীর চিহ্ন চিহ্নিত করে এবং ব্যাকট্র্যাকিং এবং অপরিজ্ঞাত পরিস্থিতি এড়াতে কাট এবং চেক ব্যবহার করে uses
% up-arrow notation
u(X, 1, _M, X) :- !.
u(X, N, 1, R) :-
R is X**N, !.
u(X, N, M, R) :-
N > 1,
M > 1,
N1 is N - 1,
M1 is M - 1,
u(X, N1, M, R1),
u(X, R1, M1, R).
% graham's number
g(1,R) :- u(3, 3, 4, R), !.
g(L,R) :-
L > 1,
L1 is L - 1,
g(L1,G1),
u(3, G1, R).