1
resposta

Minha resolução


DECLARE @NUMERO_ANTERIOR2 INT;
DECLARE @NUMERO_ANTERIOR1 INT;
DECLARE @NUMERO_ATUAL INT;
DECLARE @SEQUENCIA INT;
DECLARE @CONTADOR_SEQUENCIA INT;

DECLARE @FIBONACCI TABLE (
    POSICAO INT,
    NUMERO	INT
);

SET @SEQUENCIA = 44;
SET @CONTADOR_SEQUENCIA = 3;
SET @NUMERO_ANTERIOR2 = 0;
SET @NUMERO_ANTERIOR1 = 1;

INSERT INTO @FIBONACCI
VALUES
(1, 0),
(2, 1);

WHILE @CONTADOR_SEQUENCIA <= @SEQUENCIA
BEGIN
    SET @NUMERO_ATUAL = @NUMERO_ANTERIOR2 + @NUMERO_ANTERIOR1;

    INSERT INTO @FIBONACCI
    VALUES
    (@CONTADOR_SEQUENCIA,@NUMERO_ATUAL);

    SET @NUMERO_ANTERIOR2 = @NUMERO_ANTERIOR1;
    SET @NUMERO_ANTERIOR1 = @NUMERO_ATUAL;
    SET @CONTADOR_SEQUENCIA = @CONTADOR_SEQUENCIA + 1;
END;

SELECT * FROM @FIBONACCI;

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Ei! Tudo bem, Ycaro?

Agradeço muito por compartilhar a sua solução! Ela está tecnicamente correta e demonstra um excelente domínio das estruturas de controle de fluxo e manipulação de dados no Microsoft SQL Server.

Parabéns pelo trabalho e pelo empenho no curso! Se tiver mais dúvidas, compartilhe no fórum.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!