(0 0 -.~ #\\. ~.@:,.&,  +/\\.) p:i.4
1  2
2  5
3 10
4 17
1  3
2  8
3 15
1  5
2 12
1  7
   1 p: (0 0 -.~ #\\. ~.@:,.&,  +/\\.) p:i.4
0 1
1 1
1 0
0 1
0 1
1 0
1 0
0 1
1 0
0 1
   (#~ 1 p: {:"1) (0 0 -.~ #\\. ~.@:,.&,  +/\\.) p:i.4
1  2
2  5
4 17
1  3
1  5
1  7

-- 
Raul

On Fri, Sep 16, 2011 at 2:44 PM, David Vaughan
<[email protected]> wrote:
> Thanks, that's a great solution.
>
> I've got this set up:
>
>   list
> 3 : '0 0-.~~.(,#\\.p:i.y),.,+/\\.p:i.y'
>   list 4
> 1  2
> 2  5
> 3 10
> 4 17
> 1  3
> 2  8
> 3 15
> 1  5
> 2 12
> 1  7
>
> The left item is the number of primes needed to get the sum which is the 
> right item. I'm trying to filter out any rows where the right item is not 
> prime. Before, when I wasn't counting the number needed to get the sum, i.e. 
> I just had a list, I was using (1&p: # ]) to filter the non-prime values out. 
> But now with the extra rank I'm not quite sure how I can achieve the same 
> thing. So the desired result of 'list 4' is:
>
>   list 4
> 1  2
> 2  5
> 4 17
> 1  3
> 1  5
> 1  7
>
> On 16 Sep 2011, at 18:53, Roger Hui wrote:
>
>> Prefixes of suffixes.  Very neat.
>>
>>   <\\. 'abcde'
>> ┌─┬──┬───┬────┬─────┐
>> │a│ab│abc│abcd│abcde│
>> ├─┼──┼───┼────┼─────┤
>> │b│bc│bcd│bcde│     │
>> ├─┼──┼───┼────┼─────┤
>> │c│cd│cde│    │     │
>> ├─┼──┼───┼────┼─────┤
>> │d│de│   │    │     │
>> ├─┼──┼───┼────┼─────┤
>> │e│  │   │    │     │
>> └─┴──┴───┴────┴─────┘
>>
>> Suffixes of prefixes will also work.
>>
>>   <\.\ 'abcde'
>> ┌─────┬────┬───┬──┬─┐
>> │a    │    │   │  │ │
>> ├─────┼────┼───┼──┼─┤
>> │ab   │b   │   │  │ │
>> ├─────┼────┼───┼──┼─┤
>> │abc  │bc  │c  │  │ │
>> ├─────┼────┼───┼──┼─┤
>> │abcd │bcd │cd │d │ │
>> ├─────┼────┼───┼──┼─┤
>> │abcde│bcde│cde│de│e│
>> └─────┴────┴───┴──┴─┘
>>
>>
>>
>> ----- Original Message -----
>> From: Marshall Lochbaum <[email protected]>
>> Date: Friday, September 16, 2011 10:44
>> Subject: Re: [Jprogramming] Consecutive Numbers in List
>> To: Programming forum <[email protected]>
>>
>>>    ; <@:(+/\)\. p:i.4
>>> 2 5 10 17 3 8 15 5 12 7
>>>
>>> applies +/ on prefixes of suffixes.
>>>
>>> Marshall
>>>
>>> On Fri, Sep 16, 2011 at 12:59 PM, Roger Hui <[email protected]>
>>> wrote:
>>>> Multiple applications of the infix x +/\ y does the trick.
>>>>
>>>>    f=: >:@i.@# +/\&.>  <
>>>>    f 2 3 5 7
>>>> ┌───────┬──────┬─────┬──┐
>>>> │2 3 5 7│5 8 12│10 15│17│
>>>> └───────┴──────┴─────┴──┘
>>>>    g=: ;@f
>>>>    g 2 3 5 7
>>>> 2 3 5 7 5 8 12 10 15 17
>>>>
>>>> The results of f are the 1-, 2-, 3-, and 4-infix sums.
>>>> Razing the whole thing gets the desired result.
>>>>
>>>>
>>>>
>>>> ----- Original Message -----
>>>> From: David Vaughan <[email protected]>
>>>> Date: Friday, September 16, 2011 9:49
>>>> Subject: [Jprogramming] Consecutive Numbers in List
>>>> To: Programming forum <[email protected]>
>>>>
>>>>> I'm trying to get a list of the sum of all possible consecutive
>>>>> numbers.
>>>>> E.g.
>>>>>
>>>>> for p:i.4, I want a list:
>>>>>
>>>>> 2 0 0 0
>>>>> 2 3 0 0
>>>>> 2 3 5 0
>>>>> 2 3 5 7
>>>>> 3 5 7 0
>>>>> 5 7 0 0
>>>>> 7 0 0 0
>>>>> 3 5 0 0
>>>>>
>>>>> I then do +/"1 to get the sum of each row. My problem is that
>>>>> I'm only getting consecutive numbers that start on p:0 or
>>> end on
>>>>> the last value, so it misses out loads in between. In the
>>>>> example above I get all but the last row. This is what I
>>> have so far:
>>>>>
>>>>>     list=:3 :'(+/"1@>{\p:i.y),+/"1@>{\.p:i.y'
>>>>>     list 10
>>>>> 2 5 10 17 28 41 58 77 100 129 129 127 124 119 112 101 88 71
>>> 52 29
>>>>>
>>>>> Also I was wondering if there was a way to streamline something
>>>>> like that because I'm doing +/"1@>{\.p:i.y twice basically, but
>>>>> with \. changed to \
>>
>> ----------------------------------------------------------------------
>> 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