Reverse-Engineer the N-Bonacci sequence[s]
Ruby, 94
I'm quite surprised how far I've been able to golf this within the same algorithm!  I started with over 200!
-&gt;a{1.step.find{|s|x=[1]*(s+z=a.size)
x&lt;&lt;x[-s,s].inject(:+)while x.max&lt;a.max&amp;&amp;s&gt;1
x[-z,z]==a}}

Ungolfed:
l=-&gt;a{
    # ooh! a built-in infinite incrementer!
    1.step.find{|s|
        # if n == 1, z is important, otherwise s.
        x=[1]*(s+z=a.size)
        ## add the next nacci number until we hit or overshot max. 
        ## if s == 1, we don't increment, so don't bother
        x&lt;&lt;x[-s,s].inject(:+)while x.max&lt;g&amp;&amp;s&gt;1
        # eval to true if there's a match, false if not
        x[-z,z]==a
    }
}