1) //PascalABC.NET версия 3.2, сборка 1389 //Если программа не запускается, то обновите версию begin var a := ArrRandomInteger(20, 100, 200); Println(a); var k := a.Count(x -> x mod 10 = 5); Writeln((k = 0) ? 'Таких чисел нет' : k.ToString()); end.
2) //PascalABC.NET версия 3.2, сборка 1389 //Если программа не запускается, то обновите версию begin var a := ArrRandomInteger(40, -100, 100); Println(a); var max := a.Count(x -> x mod 3 = 0); if max <> 0 then max := a.Where(x -> x mod 3 = 0).Max; Writeln((max = 0) ? 'Таких чисел нет' : max.ToString()); end.
Пусть *(n) - число звёздочек, которое выведет процедура f(n).
Так как f(n) всегда выводит 1 звёздочку, а если если n > 2 - то вызывает f(n - 1) и f(n - 2), то *(n) = 1 при n <= 2 *(n) = 1 + *(n - 1) + *(n - 2) при n > 2.
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
begin
var a := ArrRandomInteger(20, 100, 200);
Println(a);
var k := a.Count(x -> x mod 10 = 5);
Writeln((k = 0) ? 'Таких чисел нет' : k.ToString());
end.
2)
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
begin
var a := ArrRandomInteger(40, -100, 100);
Println(a);
var max := a.Count(x -> x mod 3 = 0);
if max <> 0 then
max := a.Where(x -> x mod 3 = 0).Max;
Writeln((max = 0) ? 'Таких чисел нет' : max.ToString());
end.
Так как f(n) всегда выводит 1 звёздочку, а если если n > 2 - то вызывает f(n - 1) и f(n - 2), то
*(n) = 1 при n <= 2
*(n) = 1 + *(n - 1) + *(n - 2) при n > 2.
*(1) = *(2) = 1
*(3) = 1 + *(2) + *(1) = 1 + 1 + 1 = 3
*(4) = 1 + *(3) + *(2) = 1 + 3 + 1 = 5
*(5) = 1 + 5 + 3 = 9
*(6) = 1 + 9 + 5 = 15
*(7) = 1 + 15 + 9 = 25
*(8) = 1 + 25 + 15 = 41
*(9) = 1 + 41 + 25 = 67
*(10) = 1 + 67 + 41 = 109
*(11) = 1 + 109 + 67 = 177
*(12) = 1 + 177 + 109 = 287
*(13) = 1 + 287 + 177 = 465
*(14) = 1 + 465 + 287 = 753
*(15) = 1 + 753 + 465 = 1219
*(16) = 1 + 1219 + 753 = 1973 >= 1500
ответ: 16.
Можно было заметить, что *(n) = 2F(n) - 1, где F(n) - число Фибоначчи, или просто выполнять программу для разных n.