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

Reply via email to