local fn IsPrime( n as NSUInteger ) as BOOL BOOL isPrime = YES NSUInteger i if n < 2 then exit fn = NO if n = 2 then exit fn = YES if n mod 2 == 0 then exit fn = NO for i = 3 to int(n^.5) step 2 if n mod i == 0 then exit fn = NO next end fn = isPrime local fn IsMotzkin NSUInteger M(42) : M(0) = 1 : M(1) = 1 NSInteger i, n printf @" 0.%20ld\n 1.%20ld", 1, 1 for n = 2 to 41 M(n) = M(n-1) for i = 0 to n-2 M(n) += M(i) * M(n-2-i) next printf @"%2ld.%20ld\b", n, M(n) if fn IsPrime( M(n) ) then print " <-- is a prime" else print next end fn fn IsMotzkin HandleEvents