Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с Фибоначи 
:(
    Опции темы
APD
Дата 13.12.2005, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



Пытался сделать на паскале последовательность Фибоначи, не получается, помогите. Я так думаю первые два члена надо самому ввести это 1 и 1, а остальные по формуле уже.
PM MAIL   Вверх
darkart
Дата 13.12.2005, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



Прога выводит n-ое число Фибоначи
Код

program Fibonach;
var
  fibPred,fibNow,tmp:longint;
  i,n:integer;
begin
  fibPred:=1;{предыдущее}
  fibNow:=1;{нынешнее}
  writeln('Please enter number n:');
  repeat
    readln(n);
    if n<=0 then writeln('Invalid data. Please reenter n:');
  until n>0;{номер - натуральный}
  for i:=3 to n do
  begin
    tmp:=fibNow;
    fibNow:=fibNow+fibPred;
    fibPred:=tmp;
  end;
  writeln(n,' number of Fibonachi is ',fibNow);
  readln;
end.

PM MAIL WWW ICQ Skype GTalk   Вверх
APD
Дата 13.12.2005, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



Спасибо, но мне нужно, чтобы они подря выводились, начиная спервого и так...
PM MAIL   Вверх
darkart
Дата 13.12.2005, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



Лови
Код

program Fibonach;
var
  fibPred,fibNow,tmp:longint;
  i,n:integer;
begin
  fibPred:=1;
  fibNow:=1;
  writeln('Please enter number n:');
  repeat
    readln(n);
    if n<=0 then writeln('Invalid data. Please reenter n:');
  until n>0;
  writeln(n,' numbers:');
  write(fibNow,' ');
  if n>1 then write(fibNow,' ');
  for i:=3 to n do
  begin
    tmp:=fibNow;
    fibNow:=fibNow+fibPred;
    fibPred:=tmp;
    write(fibNow,' ');
  end;
  writeln;
  readln;
end.

P.S. Задание нужно уточнять, уточнять и уточнять, как говорил великий...
PM MAIL WWW ICQ Skype GTalk   Вверх
APD
Дата 13.12.2005, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



гг) Спасибо.
Добавлено @ 23:56
Да вроди тоже не то) Нужно, чтобы автоматом: включил программу и она начал выводить подряд эти члены последовательности Фибоначи))
Добавлено @ 00:02
А, всё правльно, ошибся)))
PM MAIL   Вверх
APD
Дата 14.12.2005, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



Только одна проблема: где-то сороковой элемент выдаёт с минусом, это почему так?
PM MAIL   Вверх
DeadSoul
Дата 14.12.2005, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



Цитата(APD @ 14.12.2005, 00:09)
Только одна проблема: где-то сороковой элемент выдаёт с минусом, это почему так?

КАкое было 39? int не переполнился?


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
darkart
Дата 14.12.2005, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



Цитата
Только одна проблема: где-то сороковой элемент выдаёт с минусом, это почему так?

Где-то 47 элемент.
longint:
-2147483648..2147483647
Просто происходит переполнение, как уже заметил DeadSoul

Это сообщение отредактировал(а) darkart - 14.12.2005, 00:34
PM MAIL WWW ICQ Skype GTalk   Вверх
APD
Дата 14.12.2005, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



А как-нибудь этого избежать нельзя другим типом?
PM MAIL   Вверх
DeadSoul
Дата 14.12.2005, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



Цитата(APD @ 14.12.2005, 00:36)
А как-нибудь этого избежать нельзя другим типом?

Какой бы тип ты не использовал - переполнение будет всегда. Весь вопрос когдаsmile


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Wowa
Дата 14.12.2005, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(APD @ 13.12.2005, 22:36)
А как-нибудь этого избежать нельзя другим типом?

их никто не высчитывает все smile Тебе вполне хватит и первых 40, чтобы получить пятерку smile)))
PM WWW   Вверх
APD
Дата 14.12.2005, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



=)
Да это я как бы сам хотел. Но вдруг потом, там училка например скажет, чтобы 47 вывел)
PM MAIL   Вверх
Fighter
Дата 14.12.2005, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005

Репутация: нет
Всего: 2



Цитата(APD @ 14.12.2005, 00:49)
=)
Да это я как бы сам хотел. Но вдруг потом, там училка например скажет, чтобы 47 вывел)


Тогда объяснишь ей про переполнение

Это сообщение отредактировал(а) Fighter - 14.12.2005, 02:09
PM MAIL   Вверх
APD
Дата 14.12.2005, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



Ага, в общем всем спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.