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