Page 58 - C:\Users\Admin\Desktop\Sach mem upweb\
P. 58

100 Problems & Solutions                                                Trang 58


                        ReadInput;
                        Solution;
                        WriteOutput;
                      end.

                      Bài 11/1999 - Dãy số Fibonaci
                      (Dành cho học sinh THCS)
                      {$R+}
                      const
                        Inp = 'P11.INP';
                        Out = 'P11.OUT';
                        Ind = 46;
                      var
                        n: LongInt;
                        Fibo: array[1..Ind] of LongInt;
                      procedure Init;
                      var
                        i: Integer;
                      begin
                        Fibo[1] := 1; Fibo[2] := 1;
                        for i := 3 to Ind do Fibo[i] := Fibo[i - 1] + Fibo[i - 2];
                      end;
                      procedure Solution;
                      var
                        i: LongInt;
                        hfi, hfo: Text;
                      begin
                        Assign(hfi, Inp);
                        Reset(hfi);
                        Assign(hfo, Out);
                        Rewrite(hfo);
                        while not Eof(hfi) do
                        begin
                          Readln(hfi, n);
                          Write(hfo, n, ' = ');
                          i := Ind; while Fibo[i] > n do Dec(i);
                          Write(hfo, Fibo[i]);
                          Dec(n, Fibo[i]);
                          while n > 0 do
                          begin
                            Dec(i);
                            if n >= Fibo[i] then
                            begin



                      Tin học & Nhà trường                                       100 Đề Toán - Tin học
   53   54   55   56   57   58   59   60   61   62   63