Автор: plafon 21.05.2004 15:05
Кто нибудь помогите
Заполнение массива по спирали числами из ряда Фибоначчи. Заполнить квадратную матрицу – массив NxN по спирали числами из ряда Фибоначчи. Результат вывести в файл. N – описывается в разделе описания констант.
Первые два числа ряда Фибоначчи равны 1 и 2, каждое следующее число вычисляется как сумма двух предыдущих. Приведем первые 9 членов ряда: 1,2,3,5,8,13,21,34,55…
Автор: BlackShadow 21.05.2004 15:34
Код
Function GetNext(Var a,b:Integer):Integer;
Var
Result:Integer;
Begin
Result:=a+b;
a:=b;
b:=Result;
GetNext:=Result
End; {Ужасно выглядит}
Const
N=5;
Var
Matrix:Array[1..N,1..N] Of Integer;
n1,n2,i,k,x,y,d:Integer;
Begin
n1:=1;
n2:=1;
k:=n-1;
x:=1;
y:=1;
d:=1;
Matrix[1,1]:=1;
Repeat
For i:=1 To 3 Do
Begin
For j:=1 To k Do
Begin
Case d Of
1:Inc(x);
2:Inc(y);
3:Dec(x)
Else Dec(y)
End;
Matrix[x,y]:=GetNext(n1,n2)
End;
Dec(k);
d:=(d+1) Mod 4
End
Until k=0;
For j:=1 To N Do
Begin
For i:=1 To N Do
Write(Matrix[i,j]);
WriteLn
End
End.
Ну, или что-то похожее...