Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проверка числа на принадлежность к числам Фибоначчи [D6, WinXP]


ultimate ©   (2002-05-25 00:59:00) 

Господа, помогите плз.. возникла проблема. Цель простая – нужно взять число и проверить его, является ли оно числом Фибоначчи или нет.. подскажите правильный алгоритм, а то мой почему-то вешает программу. Где-то циклится видимо. Может есть что-то удобнее и правильнее??
Вот исходник:
for j:=1 to strk do
for i:=1 to stlb do
while i = j do
begin
f3 := 0;
f1 := 1;
f2 := 1;
while not (f3 > mass[i,j]) do
begin
f3 := f2 + f1;
if mass[i,j] = f3 then
begin
showmessage("yes");
end;
f1 := f2;
f2 := f3;
end;
end;
Пытаемся определить – является ли mass[i,j] этим самым числом. Если да – выводим ”yes”, если нет – идем далее.


DarkUser   (2002-05-25 12:25:00) [1]

???

P1 := 1;
P2 := 1;
whilep2 < fibi do
begin
tmp := p2;
p2 := p1 + p2;
p1 := tmp
end;
ifp2 = fibi then< вощем являеся...>



MBo   (2002-05-25 07:21:00) [2]

fib:=f1+f2;
..проверка
inc(i);
if odd(i) then f1:=fib else f2:=fib;


Новеньки в Делфи   (2002-05-25 02:00:00) [3]

что значит
while i = j do
наверно имелось ввиду if i=j
ты скажи что это за числа, и чем у тебя является mass я тебе алгортим набросаю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо