Const n=10;
var a: array[1..n] of integer;
k,i: integer;
begin
k:=0;
for i:=1 to n do
begin
writeln('элемент', i);
readln(a[i]);
if a[i] <> 0 then k:=k+1
end;
writeln(k)
end.
Похоже, что вопросов с номером один не возникает. Тогда можно на месте формулы написать формулу в формате: "=ЕСЛИ(A1>0;вторая формула;первая формула)". На месте A1 стоит значение x
===== PascalABC.NET =====
begin
var (n, k) := ReadInteger2('Введите N и k:');
var s := 0;
n := Abs(n); // в условии не сказано, что число всегда подожительное!
while n > 0 do
begin
var d := n mod 10;
if d > k then
s += d;
n := n div 10
end;
Print(s)
end.
Есть такжен более короткое решение:
begin
var (n, k) := ReadInteger2('Введите N и k:');
var a := Abs(n).ToString.ToCharArray.Select(c -> c.ToDigit).ToArray;
a.Where(p -> p > k).Sum.Println
end.
Ответ:
N=2i(i сверху как степень)
N=32 символа, значит i=5 бит
I=Ki
K - ?
I = 1/16 кбайт = 64 байта = 512 бит
i=5 бит следоватьельно
K=I/i
K=512/5=102 символа
как то так:
b=15
a=9
===========================================