Ответ: k будет равно 5.
По условию, если а>0, то k присвоить значение 1, иначе присвоить значение 0, а затем прибавить 5. Перед условием указано, что а=-25, т.е. <0, значит идём по условию "иначе".
Public Function UserFunction(items As Variant) As Integer
Dim result As Integer
For Each Item In items
If Item < 0 Then
result = result + (Item * Item)
End If
Next Item
UserFunction = result
End Function
Этот код вставляется как новый модуль, Alt+F11, Insert -> Module. После нужно сохранить книгу с поддержкой макросов, это обязательно.
Пример использования ниже:
Вот ответ. Надеюсь, помогла.
1)1110011
1+2+16+32+64=115
2)1101001
1+8+32+64=105
3)134=128+2+4
10000110
Ответ: 3 (три единицы)
4)143=128+8+1+4+2
10001111
Ответ:5
5)141=128+8+4+1
10001101
Ответ:4
6)1100110
2+4+32+64=102
Сначала банальный код - рабочий, но уже на больших числах будет переполнение переменной факториала.
var n, i, fact, ans : integer;
begin
read(n);
fact := 1;
for i := 2 to n do
fact := fact * i;
while (fact mod 10 = 0) do begin
ans := ans + 1;
fact := fact div 10;
end;
writeln(ans);
<span>end.
Теперь более "умный" код, в нём использован тот факт, что простое число p входит в разложение факториала числа N = [N/p] + [N/p^2] + [N/p^3] + ..., где [x] - целая часть числа x.
var n, i, fact, c, pow, ans : integer;
{c - сколько раз входит в разложение числа n! цифра 5}
begin
read(n);
pow := 5;
while (pow <= n) do begin
c += n div pow;
pow := pow * 5;
end;
writeln(c);
<span>end.</span></span>