109(10)= 11001(3)
109:3= 36, ост 1
36:3=12 ост 0
12:3=4 ост 0
4:3=1 ост 1
И потом надо записывать остатки в обратном порядке , то есть 1 1 0 0 1= 11001. И так из десятичной можно перевести троичную: 1) делить на 3 пока не останется число меньше 3, 2) записать остатки в обратном порядке
Program n1;
const n=10;
var a: array [1..n] of integer;
i: integer;
begin
randomize;
writeln('исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(15)+1;
write(a[i],' ');
end;
writeln;
writeln('полученный массив: ');
for i:=1 to n do
begin
a[i]:=a[i]*5;
write(a[i],' ');
end;
end.
Смысл этой задачи проверить в том , что является ли сумма предыдущих чисел , заданному числу . Вот и вся программа !
67 = 1000011 переводит надо делением на 2 столбиком и записывать остаток
Const n=10;
var A : Array [1..10] of integer;
i, mini, maxi, min,max, c,k: integer;
begin
for i := 1 to n do
begin
A[i] := random(10);
write(' ',A[i]);
end;
maxi:=1;
mini:=1;
For i:=1 to n do
begin
min:=A[1];
If A[i]>max then
begin
max:=A[i];
maxi:=i;
end;
If A[i]<min then
begin
min:=A[i];
mini:=i;
end;
c:=A[maxi];
A[maxi]:=A[mini];
A[mini]:=c;
end;
Writeln;
for i:=1 to n do
begin
Write(' ',a[i]);
end;
Writeln;
for i:=1 to n do
begin
If a[i]>4 then
begin
a[i]:=4;
inc(k);
end;
Write(' ',a[i]);
end;
Writeln;
Write('Количество: ',k);
<span>end.</span>