Generalizing Fibonacci sequence with SICStus Prolog

后端 未结 6 2013
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-19 08:00

I\'m trying to find a solution for a query on a generalized Fibonacci sequence (GFS). The query is: are there any GFS that have 885 as their 12th number? The initial 2 numbe

6条回答
  •  不知归路
    2021-01-19 08:57

    Maybe not a solution in the strict sense but I will share it never the less. Probably the only gain is to show, that this does neither need a computer nor a calculator to be solved. If you know the trick it can be done on a bearmat.

    If F_n ist the n-th Term of the ordinary Fibo-sequence, starting with F_1=F_2=1, then the n-th Term of the generalized sequence will be G_n = F_{n-2}*a+F_{n-1}*b. Define F_{-1}=1, F_0 = 0

    (Indeed, by induction

    • G_1 = F_{-1}*a+F_0*b = 1*a+0*b=a
    • G_2 = F_0 * a + F_1 * b = 0*a + 1*b = b
    • G_{n+1} = F_{n-1}a + F_nb = (F_{n-3} + F_{n-2} )a + (F_{n-2} + F_{n-1})*b = G_n + G_{n-1}

    )

    Thus G_12 = F_10 * a + F_11 * b = 55a + 89b.

    Now you can either search for solutions to the equation 55a + 89b = 885 with your computer

    OR

    do the math:

    Residues mod 11 (explanation):

    55a + 89b = 0 + 88b + b = b; 885 = 880 + 5 = 80*11 + 5 = 5

    So b = 5 mod 11, but since 1 <= b <= 10, b really is 5. 89 * 5 = 445 and 885-445 = 440. Now, divide by 55 and get a=8.

提交回复
热议问题