Oxygen XML Editor
 
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Use pure XPath to test a sequence for being a valid Fibonacci sequence


Subject: Re: [xsl] Use pure XPath to test a sequence for being a valid Fibonacci sequence
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Wed, 31 Jan 2007 22:36:25 +0100

Abel Braaksma wrote:
Michael Kay wrote:

$fib[1] = 0 and $fib[2] = 1 and
every $i in 2 to count($fib) satisfies
$fib[$i] = $fib[$i - 1] + $fib[$i - 2]

Aha! (erlebnis)

For completeness, I will add a slightly corrected version (I saw the light, thanks to Michael). The 'every' operator has lower precedence than 'and', requiring parenthesis (otherwise you will receive an error) and the '.. to ..' range should start with 3:


$fib[1] = 0 and $fib[2] = 1 and
   (every $i in 3 to count($fib) satisfies
        $fib[$i] = $fib[$i - 1] + $fib[$i - 2])

This returns true for example for the following Fibonacci sequence:
(0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025)



Here's another version, which eases the expression a bit by removing the special cases:


every $i in 1 to count($fib) satisfies
      $fib[$i] = (0, $fib)[$i] + (0, 1, $fib)[$i]

-- Abel


Current Thread
 
© 2002-2008 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy
This website was created & generated with <oXygen/> XML Editor