Puzzles/SumToN

From J Wiki
Jump to: navigation, search

Problem

Find interesting equivalents of +/@i..

Constraints

The following constraints are listed in order. That is, sentences which satisfy constraint N equally are selected from by constraint N+1. All sentences must satisfy constraints 1, 2, and 3.

  1. For an arbitrary non-negative integer N, your verb f must produce the same result as +/i.N. That is, satisfy (f -: +/@i.) N. This constraint is absolute.
  2. The result must be guarunteed (predicted, fully supported) by the Dictionary. To put it another way, you may not leverage bugs in the implementation (but you may leverage bugs in the documentation). This constraint is absolute.
  3. Assume you're running under jconsole -jprofile: that is, you may not depend on any sentence having been executed before your own. Put another way, do not rely on the names normally defined by the J standard library. This constraint is absolute.
  4. Among sentences that satisfy the preceding constraints equally, those with the smallest number of words are preferred. That is, minimize #@:;:.
  5. Among sentences that satisfy the preceding constraint within a difference of five, those the smallest number of total necessary characters are preferred. That is, minimize #.
  6. Among sentences that satisfy the preceding constraint within a difference of five, the fastest are preferred. That, is, minimize 6!:2.
  7. Among sentences that satisfy the preceding constraint within a factor of two, the leanest are preferred. That, is, minimize 7!:2.









Spoiler Alert!























Solutions

No. Verb #@;: # 100 (6!:2)

,&'(1e7)'

[: (7!:2)

,&'(1e7)'

Notes Author/Sig
0 +/@i. 4 5 0.0987804 6.71098e7 Canonical
1 2&! 3 3 2.42098e_5 1088 From the asymmetry thread -- Roger Hui <<DateTime(2007-04-18T04:53:39Z)>>
2 0 _0.5 0.5&p. 3 13 4.91962e_6 960 -- Dan Bron <<DateTime(2007-04-17T22:06:52Z)>>
3 -:@(* <:) 6 8 6.58184e_6 1088 -- Dan Bron <<DateTime(2007-04-17T22:06:52Z)>>
4 -:@(+ *:)@<: 8 11 7.33333e_6 1152 -- Dan Bron <<DateTime(2007-04-17T22:06:52Z)>>
5 -:*<: 3 5 6.7774e_6 1216 B Jonas
6 -:@-~*: 5 7 2.60715e_5 1472 Brian Schott