Нужно сделать эти задачи в VBA я вообще в этом не разбираюсь
1.Числа Фибоначчи определяются формулами: f0=f1=1; fn=f(n-1) + f(n-2) при n=2,3,...
Определить f - 40-е число Фибоначчи.
2.Дана последовательность из 100 целых чисел. Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей.
3.Дано целое k от 2 до 20. Найти коэффициенты k-го многочлена Чебышева ( многочлены Чебышева определяются по формулам
T0(x)=1; T1(x)=x
Tn(x)=2*x*T(n-1)(x)-T(n-2)(x), n=2,3...).
begin
var d:=ReadlnString('Вас приветствует программа, которая может делить '+'два числа с остатком. Напишите свое имя');
Writeln('Здравствуйте, ',d,'!');
repeat
Writeln('Как нужно написать ответ?',#13#10,'1 вариант. 5: 3 = 1(ост.2)',#13#10,'2 вариант. 5 = 3*1 + 2',#13#10,'0 - завершить работу');
var c:char;
Repeat
c:=ReadlnChar('Введите 0, 1 или 2:');
case c of
'0': exit;
'1','2':break;
end;
until False;
var a,b:BigInteger;
if not BigInteger.TryParse(ReadlnString('Введите целочисленное делимое:'),a) then
begin
Writeln('Вы ввели неверное значение. Работа завершена');
Exit
end;
if not BigInteger.TryParse(ReadlnString('Введите целочисленный делитель:'),b) then
begin
Writeln('Вы ввели неверное значение. Работа завершена');
Exit
end;
if integer(b)=0 then
{приведение к типу Integer. Менее абстрактно, чем BigInteger}
begin
writeln('Вы ввели неверное значение.');
exit
end;
if c='1' then WritelnFormat('{0}:{1}={2}(ост.{3})',a,b,a div b,a mod b)
else
WritelnFormat('{0}={1}*{2}+{3}',a,b,a div b,a mod b);
var f:char;
Repeat
f:=ReadlnChar('Если вы хотите завершить работу, введите "0", если продолжить - любую букву.');
case f of
'0': exit;
else break;
end;
until False;
until False
end.
begin
var a:=ArrRandom(70,1,100).PrintLn;
Writeln('Количество элементов, кратных трем: ',
a.Where(x->x mod 3=0).Count);
var p:=a.OrderByDescending(x->x).Take(4).ToArray;
if (p[0]=p[1]) and (p[0]=p[2]) and (p[0]<>p[3]) then
Writeln('В массиве ровно три одинаковых максимальных элемента')
else Writeln('В массиве не три одинаковых максимальных элемента');
Writeln('Массив, из которого удалены элементы с нечетными значениями');
a.Where(x-> not Odd(x)).PrintLn
end.
Тестовое решение:
38 85 87 89 78 50 26 92 6 41 14 57 14 41 81 5 30 21 27 71 92 55 76 53 84 18 62 28 85 58 14 58 42 92 1 93 68 67 53 65 15 45 47 57 76 60 6 88 44 4 27 21 39 67 96 84 10 35 6 60 88 98 7 48 28 56 16 23 40 88
Количество элементов, кратных трем: 25
В массиве не три одинаковых максимальных элемента
Массив, из которого удалены элементы с нечетными значениями
38 78 50 26 92 6 14 14 30 92 76 84 18 62 28 58 14 58 42 92 68 76 60 6 88 44 4 96 84 10 6 60 88 98 48 28 56 16 40 88
3 76 40 20 39 100 15 85 75 58 43 48 2 57 45 90 12 50 92 70 64 33 94 38 18 59 74 10 31 13 61 34 100 77 42 61 76 95 38 100 27 44 7 75 23 22 24 52 70 39 91 68 79 74 83 70 82 2 2 80 26 6 55 62 97 10 48 25 16 84
Количество элементов, кратных трем: 19
В массиве ровно три одинаковых максимальных элемента
Массив, из которого удалены элементы с нечетными значениями
76 40 20 100 58 48 2 90 12 50 92 70 64 94 38 18 74 10 34 100 42 76 38 100 44 22 24 52 70 68 74 70 82 2 2 80 26 6 62 10 48 16 84