Программа 9 раз вычитает из s число 3.
Поэтому s=50-9*3=23
Если все расписывать по шагам:
k=1;
s=50-3=47
k=2
s=47-3=44
k=3
s=44-3=41
k=4
s=41-3=38
k=5
s=38-3=35
k=6
s=35-3=32
k=7
s=32-3=29
k=8
s=29-3=26
k=9
s=26-3=23
Ответ: 23
// PascalABC.NET 3.0, сборка 1150 от 22.01.2016
begin
var a,b:integer;
Read(a,b);
var k:=0;
for var i:=a to b do begin
var n:=i;
var s:=0;
while n<>0 do begin
s+=n mod 10;
n:=n div 10
end;
if i mod s = 0 then
begin Write(i,' '); Inc(k) end
end;
Writeln(#13#10,k)
end.
<u><em>Тестовое решение:</em></u>
10 20
10 12 18 20
4
Var
a:array[1..10]of integer;
i:integer;
Begin
For i:= 1 to 10 do
begin
Read(a[i]);
if a[i] mod 2 <>0 then Write(a[i], ' ');
end;
end.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
//Более современное решение
// PascalABC.NET 3.3, сборка 1576 от 16.11.2017
// Внимание! Если программа не работает, обновите версию!
Begin
var a:= ReadlnString('Введите массив').ToIntegers;
SetLength(a, 10);
a.Where(t->t.isOdd).Println;
end.
procedure vivod(n: integer);
begin
repeat
writeln(n mod 10);
n := n div 10;
until n = 0;
end;
Var a, b, k:integer;
begin
readln(a);
readln(b);
if (a+b)>10 then
writeln(2*a*b)
else
if (a>b) then
begin
k:=a;
a:=a+b;
b:=k-b;
end
else
begin
k:=b;
b:=b+a;
a:=k-a;
end;
writeln(a, ' ', b);
end.