Thanks for all the replies. It is fascinating to see all the different approaches to solving a problem in J.
This forum is super helpful and friendly and always a mine of information! > On 19 Nov 2022, at 23:54, Richard Donovan <rsdono...@hotmail.com> wrote: > > Thanks Elijah that works really well. I’m looking to extend this to primes > in other bases and try to construct and discover cases where both left and > right truncation takes place simultaneously. > >> On 19 Nov 2022, at 22:04, Elijah Stone <elro...@elronnd.net> wrote: >> >> x: ". y where y is simply a string of digits will interpret those digits as >> a (fixed-width) integer and _then_ convert the latter to extended-precision. >> You could append an 'x', or perhaps consider the following definition: >> >> truncs=. [:~. [:10&#.\. 10&#.^:_1 NB.equivalent to ltrunc^:a: >> ,.truncs 357686312646216567629137x >> 357686312646216567629137 >> 57686312646216567629137 >> 7686312646216567629137 >> 686312646216567629137 >> 86312646216567629137 >> 6312646216567629137 >> 312646216567629137 >> 12646216567629137 >> 2646216567629137 >> 646216567629137 >> 46216567629137 >> 6216567629137 >> 216567629137 >> 16567629137 >> 6567629137 >> 567629137 >> 67629137 >> 7629137 >> 629137 >> 29137 >> 9137 >> 137 >> 37 >> 7 >> >>>> On Sat, 19 Nov 2022, Richard Donovan wrote: >>> >>> Hi >>> >>> I am doing experiments with large primes, in particular looking at primes >>> that remain primes when n digits are truncated from the left. For example >>> 6391373 391373 91373 1373 373 73 3 remains prime at each >>> step. >>> >>> The largest of these in base 10 is 357686312646216567629137. >>> >>> I wrote the following code in preparation for further investigation but I >>> find that the 24 digit number above is not handled as I wish it to be, as >>> you will see below. >>> >>> What have I missed? >>> >>> Thanks >>> >>> >>> >>> >>> digits >>> "."0@": >>> >>> ltrunc >>> 3 : 0"0 0 0 >>> n=: ": 0, }. digits y >>> x: ". n-. ' ' >>> ) >>> >>> >>> >>> NB. Works fine with 7 digit number... >>> ltrunc^:a: 6391373 >>> 6391373 391373 91373 1373 373 73 3 0 >>> >>> >>> NB. But I can’t get it working for a 24 digit number! >>> ltrunc 357686312646216567629137 >>> 0 0 5 7 6 8 6 0 2 3 >>> ltrunc 357686312646216567629137x >>> 57686312646216568012800 >>> ltrunc x:357686312646216567629137x >>> 57686312646216568012800 >>> >>> Is there a way around the limit? >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm