golfing a bit more, just for fun (but it may improve performance a tiny bit, too)
ones1=: (1(,,<,=){.) +/@:* (0:`$:@.(0<#),XXXXXXXXXXXXXXXXXXXXXXXXX)@}. where XX…XX is either of (*10^<:)@#,(10^#),1+10#.] (,&1*10^(,~<:))@#,1+10#.] (,&1*10^_1 0&+)@#,1+10&#. I thought I would squeeze more than 1 sign out of that XX…XX region. Am 23.01.22 um 09:06 schrieb Raul Miller:
ones1=: (1,1&<,1&=,])@{. +/@:* (0:`$:@.(0<#),(10^#),(1+10#.]),#*10^#-1:)@}. ones=: 10 ones1@:(#.inv)"0 ] senO=: ] I.~ [: +/\1+/"1@:=10 #.inv [: i. +:@]^:(> ones)^:_~ Here, I used a golfed version of Hauke Rehr's 'ones' verb
-- ---------------------- mail written using NEO neo-layout.org ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm