local fn LeoFiboNumbers( number as long, l0 as long, l1 as long, sum as long ) as CFArrayRef long i, tmp CFMutableArrayRef mutArr = fn MutableArrayWithCapacity(0) for i = 1 to number if i = 1 MutableArrayAddObject( mutArr, fn StringWithFormat( @"%ld", l0 ) ) else if i = 2 MutableArrayAddObject( mutArr, fn StringWithFormat( @"%ld", l1 ) ) else MutableArrayAddObject( mutArr, fn StringWithFormat( @"%ld", l0 + l1 + sum ) ) tmp = L0 : l0 = l1 : l1 = tmp + l1 + sum end if end if next end fn = mutArr void local fn CompareResults( number as long ) CFArrayRef leonardoArr = fn LeoFiboNumbers( number, 1, 1, 1 ) CFArrayRef fibonacciArr = fn LeoFiboNumbers( number, 0, 1, 0 ) long i, count = fn ArrayCount( leonardoArr ) printf @"First %ld numbers of:\n%8s%11s", number, fn StringUTF8String( @"Leonardo" ), fn StringUTF8String( @"Fibonacci" ) for i = 0 to count - 1 printf @"%8s%11s", fn StringUTF8String( leonardoArr[i] ), fn StringUTF8String( fibonacciArr[i] ) next end fn fn CompareResults( 35 ) HandleEvents