ответ нужен на паскале. Написать внешний модуль для вычисления результата вычитания двух векторов. Вектор описать типом Type Vector = Record
X,Y: real;
end;
В программе ввести переменные A,B,D,C типа Vector. Вычислить внешнего модуля и вывести на экран результаты вычитаний векторов:
A – B, C – D, A – C, B – D.
k,fk, k20, count: integer;
function F(x: integer): integer;
begin
if x < 3 then
F := 1
else F := F(x - 1) + F(x - 2);
end;
begin
k20:=F(20);
writeln(k20);
count:=-1; {k=20 мы ж вроде должны вычесть}
for k := 3 to 50 do begin
fk:=F(k);
if fk=k20 then count:=count+1;
write(fk,' ');
end;
writeln(count);
end.
функция работает очень медленно потому что это рикурсия. Функция создает последовательность числ фибоначи которые вообщ то не повторяются потому что последовательность возрастающая. Повторения вообщем возможны изза того что integer это не безконечная последовательность, а кольцо, но дождаться результатов при таким образом построенной функции просто нереально
Из 4-й в 2-ю наоборот, каждую цифру четверичной нужно представить двоичной парой 301(4)=110001(2). Дальше аналогично предыдущему примеру.
110001(2)=61(8)=49(10)=31(16)
706(8)=111000110(2)=13012(4)=454(10)=1С6(16)
F01(16)=111100000001(2)=330001(4)=7401(8)=3841(10)