Alguém pode explicar porque deu esse resultado ?

olá, encontrei tal questão em uma aposlita da caleum. Depois de de não conseguir resolver, procurei na net por… e encontrei essa resposta, mas… ainda assim, não consigo entender :frowning:
public class Fibonacci {
public static void main (String[] args){
int A;
int B=0;
for(A=1;B<=100;A=A+B){
System.out.print(B+", ");
B=A-B;
}
}

resultado: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,

não é : 0, 1, 1, 1, 1… ???

Não, por que você achou que seria? Como você mesmo notou, dá o resultado correto.

O principal “truque” desse algoritmo está no incremento do for ( for(A=1;B<=100;A=A+B){ ) , que é complementado pela linha B=A-B; .

Pegue papel e lápis e faça esse algoritmo na mão, usando uma calculadora para as contas, pra te ajudar a entender melhor.

Abraço.