Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2013, 17:38   #1
arnold
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 21
Смех Числа Фибоначчи

Задание: Распечатать первые 30 чисел фибоначчи
Код:
var a:array [1..100] of integer;
n,i:integer;
begin
writeln('Введите количество чисел фибоначи');
readln(n);
a[1]:=0;
a[2]:=1;
for i:=3 to n do
  begin
  a[i]:=a[i-2]+a[i-1];
  writeln('',a[i]);
  end;
end.
Ввожу в n 30. Печатает от a[3] до a[30]. Не печатает a[1] и a[2]. Можно их распечатать до ввода n, но мне нужно после. Как это сделать?
arnold вне форума Ответить с цитированием
Старый 07.02.2013, 17:44   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

1)
Код:
var a:array [1..100] of integer;
n,i:integer;
begin
writeln('Введите количество чисел фибоначи');
readln(n);
a[1]:=0;
a[2]:=1;
writeln(a[1]);
writeln(a[2]);
for i:=3 to n do
  begin
  a[i]:=a[i-2]+a[i-1];
  writeln(a[i]);
  end;
end.
2)
Код:
var a:array [1..100] of integer;
n,i:integer;
begin
writeln('Введите количество чисел фибоначи');
readln(n);

a[1]:=0;
a[2]:=1;

for i:=3 to n do
  a[i]:=a[i-2]+a[i-1];

for i:=1 to n do
  writeln(a[i]);
end.
первый способ выведет в любом случае первых 2 и до n, а второй указаное количество... то бишь если в первом ввести 1, то выведет 2 числа... а второй только 1.
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 07.02.2013 в 17:46.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 07.02.2013, 20:24   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,341
По умолчанию

Плохо ограничивать количество чисел размером массива (рассчитан на 100 чисел). Тип integer тоже маловат по размеру (мало чисел получится). Такой вариант выдаст больше чисел:
Код:
var
  a: array [1..3] of longint;
  n, i: integer;
begin
  writeln('Введите количество чисел Фибоначи');
  readln(n);
  a[1] := 0;
  a[2] := 1;
  if n < 3 then
    for i := 1 to n do
        writeln(a[i])
  else
  begin
    writeln(a[1]);
    writeln(a[2]);
    for i := 1 to n - 2 do
    begin
        a[3] := a[1] + a[2];
        writeln(a[3]);
        a[1] := a[2];
        a[2] := a[3];
    end;
  end;
end.
Хотя, тут все равно нету и 100 правильных чисел (быстро переполняется).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.02.2013, 10:04   #4
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Плохо ограничивать количество чисел размером массива (рассчитан на 100 чисел). Тип integer тоже маловат по размеру (мало чисел получится). Такой вариант выдаст больше чисел:
Код:
var
  a: array [1..3] of longint;
  n, i: integer;
begin
  writeln('Введите количество чисел Фибоначи');
  readln(n);
  a[1] := 0;
  a[2] := 1;
  if n < 3 then
    for i := 1 to n do
        writeln(a[i])
  else
  begin
    writeln(a[1]);
    writeln(a[2]);
    for i := 1 to n - 2 do
    begin
        a[3] := a[1] + a[2];
        writeln(a[3]);
        a[1] := a[2];
        a[2] := a[3];
    end;
  end;
end.
Хотя, тут все равно нету и 100 правильных чисел (быстро переполняется).
самая лучшая и наименее затратная реализация чисел фибоначи у Arigato (насколько я помню) на авке))
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Числа Фибоначчи 2Dletti Паскаль, Turbo Pascal, PascalABC.NET 9 03.02.2013 15:58
числа фибоначчи Anton95129 Помощь студентам 1 21.10.2012 05:12
Числа Фибоначчи vadiprog Помощь студентам 6 29.10.2011 12:08
Числа Фибоначчи. valiaam55 Помощь студентам 2 19.11.2010 19:16
Числа Фибоначчи vasyapupkin Помощь студентам 3 12.04.2010 11:27