#F#, 111 108 bytes
F#, 111 108 bytes
Edit
This is using the function below to calulcate Graham's number
let rec u=function|b,1->int<|3I**b|1,c->3|b,c->u(u(b-1,c),c-1)
and g=function|1->u(3.,4.)|a->u(3.,g (a-1))
g 63
Here's my previous answer which, well, didnt:
Pretty straightforward. Just a definition of the u
function.
let rec u=function|a,b,1->a**b|a,1.,c->a|a,b,c->u(a,u(a,b-1.,c),c-1)
Usage:
u(3.,3.,2)
val it : float = 7.625597485e+12
If I assumed 3 as the value for a, I could cut it to 60:
let rec u=function|b,1->3.**b|1.,c->3.|b,c->u(u(b-1.,c),c-1)
Usage:
u(3.,2)
val it : float = 7.625597485e+12