kurz/project_euler/problem2.qbl

56 lines
812 B
Plaintext

//valid,4613732
//:END:
import "../std.qbl"
true 1 2 0 0 0
while
{
// a b even_count 0 sum
fib
// even_count 0 sum b a+b
dup ==
// sum b a+b even_count even?
req req req req
if
// sum b a+b even_count
{
req dup
// b a+b even_count sum b
req req deq 3 +
// b a+b even_count sum+b
req req
}
else
{
req req req
}
// even_count sum+b b a+b
decrement 0 req req
// a+b even_count-1 0 sum+b b
check
// even_count-1 0 sum+b b a+b big?
req req req req swp
// even_count-1 0 sum+b b big? a+b
req req req swp
// a+b even_count-1 0 sum+b big? b
req req req req
// big? b a+b even_count-1 0 sum+b
}
deq deq deq deq intToStr println
function int int => int int fib
{
req dup +
}
function int => int nPrint
{
dup intToStr req print
}
function int => int bool check
{
4000000 dup <
}