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>
<span>Сколько надо лампочек, чтобы создать 15 различных сигналов (при этом лампочка может находиться в 2 состояниях: включена, выключена).
Количество лампочек определяется по формуле log(2)15 </span>≈ 4
Или так (если без логарифмов): Нужно определить, в какую минимальную степень требуется возвести число 2, чтобы получить число ≥ 15.
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
Var
m,n,i: byte;
begin
writeln ('M=');
writeln ('N=');
readln(m);
readln(n);
for i:=n to m do
if i mod 2=0 then write (i,' ');
readln;
end.