Идем от обратного. Перепишем алгоритм с последней цифры до первой: 21221 и командам присвоим обратные действия, то есть команда 1) станет "отними 1", а команда 2) "раздели на 2"
Проверим каждое число получившимся алгоритмом, если на выходе получается натуральное число, считаем, что алгоритм для этого числа допустим.
Например, число 42.
42/2 = 21
21-1 = 20
20/2 = 10
10/2 = 5
5-1 = 4
4 - натуральное число, следовательно для числа 42 алгоритм допустим.
Пример недопустимого алгоритма на примере числа 20:
20/2 = 10
10-1 = 9
9/2 = 4,5 - недопустимо, так как это число не может получиться при умножении целого натурального числа на 2
Допустимые входные данные: 42, 26, 50, 82
Недопустимые входные данные: 20, 28, 40, 101
Объяснение:
Идем от обратного. Перепишем алгоритм с последней цифры до первой: 21221 и командам присвоим обратные действия, то есть команда 1) станет "отними 1", а команда 2) "раздели на 2"
Проверим каждое число получившимся алгоритмом, если на выходе получается натуральное число, считаем, что алгоритм для этого числа допустим.
Например, число 42.
42/2 = 21
21-1 = 20
20/2 = 10
10/2 = 5
5-1 = 4
4 - натуральное число, следовательно для числа 42 алгоритм допустим.
Пример недопустимого алгоритма на примере числа 20:
20/2 = 10
10-1 = 9
9/2 = 4,5 - недопустимо, так как это число не может получиться при умножении целого натурального числа на 2
Объяснение:
Тут смысла нет передавать массив в качестве параметра, т.к. он описан как const .
Текст будет примерно такой
const x=0.2;
y :array[1..9]of real=(0.1,0.2,-0.3,-0.04,5,6,-7.03,8,9);
function t(u:real):real;
begin
t:=sin(u)+cos(u);
end;
function p(a,b:integer):real;
var i:integer; d:real;
begin
d:=1;
for i:= a to b do
d:=d*y[i];
p:=d;
end;
Begin
cls;
writeln('z(x,y)=',exp(ln(t(x))*3)/p(1,9)+sqr(p(1,9))/exp(ln(t(x))*2/3):6:4);
readln;
End.
Если нужно массив передать в функцию, то его описывают как новый тип переменной и передают
Вот так, например:
const z=9;
type mas=array[1..z] of integer;
var
u :mas;
i:integer;
// Вывод массива на экран
// a -массив n-размер,text - что хотим написать
procedure showmas(b:mas;n:integer;text:string);
var
i:integer;
begin
writeln(text);
for i:=1 to n do
write(b[i],' ');
readln;
end;
begin
for i:=1 to 9 do
u[i]:= random(20);
showmas(u,10,'Исходный массив u');
end.