![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
проверка числа на принадлежность к числам Фибоначчи [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 я тебе алгортим набросаю.