Pascal
//Эта программа корректно работает для двухзнаных чисел
// при a > 100 будет к примеру 125 =>125-(12+5)...
var a,k : integer;
begin
k := 0;
readln (a);
while a > 0 do
begin
a := a - (a div 10 + a mod 10);
k := k +1;
end;<span>
writeln (k);
end.</span>
Возможно западает какая-нибудь клавиша на клавиатуре или мышке (если были механические повреждения или что-нибудь проливали). Либо может кто-то шутить, подключившись через программу удаленного управления, например.
Uses GraphABC;
begin
Pen.Color := clblue;
brush.Color :=clRed;
DrawRectangle(100,200,400,400);
fillRect(100,200,400,400);
moveto(90,200);
lineto(100,150);
lineto(400,150);
lineto(410,200);
lineto(90,200);
FloodFill(100,180,clblue);
brush.Color := clCyan;
fillRect(150,250,200,300);
fillRect(250,250,300,300);
<span>end.</span>
type
mas = array [1..10] of integer;
var
m : mas;
a,l : integer;
function re () : integer; //Считываем число
var a : integer;
begin
writeln ('Введите число');
readln (a);
Result :=a;
end;
function C(var m : mas; a : integer) : integer; //Разбиваем на числа
var i : integer;
begin
i := 0;
While a > 0 do
begin
i := i +1;
m[i] := a mod 10;
a := a div 10;
end;
Result := i;
end;
procedure wr (a : mas; l : integer); // Вывод массива
var i : integer;
begin
writeln ('Resultat :');
for i := 1 to l do
write (a[i],' ');
end;
procedure sort (var a : mas; l : integer); // перевернуть массив
// т.е 1234 -> 4321
var i,buf : integer;
begin
for i := 1 to l div 2 do
begin
buf := a[l-i+1];
a[l-i+1] := a[i];
a[i] := buf;
end;
end;
begin
a := re();
l := C(m,a);
sort (m,l);
wr (m,l);<span>
end.
на примере числа
125
после выполнения функции C
m[1] = 5 m[2] =2 m[3] =1
после выполнения процедуры Sort
m[1] =1 m[2] =2 m[3] =5
Вывод на экран элементов массива через пробел
1 2 5
</span>
1- 5 бит
2- 200 бит
3- 128 сим
4- 0.1875 Кб
5- 4 и 8