Custom McCarthy sequence
Generate the first one hundred and twenty numbers (starting with n=1). See here for some inspiration: http://en.wikipedia.org/wiki/McCarthy_91_function
Start file
" Humm... :so%
" Custom McCarthy 91 function
" M(n) = { n if n > 97
" { M(M(n+1)) if n <= 97
function! Mc98(n)
if a:n > 97
return a:n
else
return Mc98(Mc98(a:n + 1))
endif
endfunction
function! Mc98Line()
let l = getline('.')
call setline('.', Mc98(l))
endfunction
" Humm...
"command! -range Mc98Cmd <line1>,<line2>call Mc98Line()
nmap M ciw<C-R>=Mc98(<C-R>")<CR><Esc>
"0put=range(1,120)
End file
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
View Diff
1,22c1,120
< " Humm... :so%
<
< " Custom McCarthy 91 function
< " M(n) = { n if n > 97
< " { M(M(n+1)) if n <= 97
< function! Mc98(n)
< if a:n > 97
< return a:n
< else
< return Mc98(Mc98(a:n + 1))
< endif
< endfunction
<
< function! Mc98Line()
< let l = getline('.')
< call setline('.', Mc98(l))
< endfunction
<
< " Humm...
< "command! -range Mc98Cmd <line1>,<line2>call Mc98Line()
< nmap M ciw<C-R>=Mc98(<C-R>")<CR><Esc>
< "0put=range(1,120)
---
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 98
> 99
> 100
> 101
> 102
> 103
> 104
> 105
> 106
> 107
> 108
> 109
> 110
> 111
> 112
> 113
> 114
> 115
> 116
> 117
> 118
> 119
> 120
Solutions
The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!
Check out these helpful resources to improve your Vim skills... Game on.
Unlock 16 remaining solutions by signing in and submitting your own entry
#17 pftb12345 / @pftb12345 - Score: 28 - 04/05/15 @ 15:32
:so%<CR>GfrDVH"=<C-R>"<CR>pqqM+@qq@qZZ
0 comments