Объясните, ! паскаль. решение есть, просто не пойму одну деталь!
звучит так:
дан массив, содержащий 70 неотрицательных целых чисел. опишите на одном из языков
программирования алгоритм, позволяющий найти и вывести наименьшую нечётную сумму двух
соседних элементов массива. гарантируется, что в массиве есть соседние элементы с нечётной суммой.
исходные данные объявлены так, как показано ниже. запрещается использовать переменные, не
описанные ниже, но разрешается не использовать часть из них.
непонятно: почему мы пишем " (x=0) or " (т.е. почему именно нуля, почему именно такое действие)
const
n = 70;
var
a: array [1..n] of integer;
i,j,x,y: integer;
begin
for i : = 1 to n do
readln(a[i]);
for i : = 1 to (n-1) do
if ((a[i] + a[i+1]) mod 2 = 1) then
if (x = 0)or(x > a[i] + a[i+1]) then
x : = a[i] + a[i+1];
write(x);
end.
while { не конец последовательности (не известно от куда аффтар получает слова ) } do
begin
Slovo := { Получаем очередное слово последовательности };
if Length(Slovo) <= Length(Prime) then
begin
CopyPrime := Prime;
N := 1;
while (N <= Length(Slovo)) and (Pos(Slovo[N], CopyPrime) > 0 do
begin
Delete(CopyPrime, Pos(Slovo[N], CopyPrime), 1);
Inc(N);
end;
if N > Length(Slovo) then
{ Slovo можно получить из первого слова }
else
{ нельзя получить Slovo из первого слова }
end;
end;
92
Объяснение:
+1; *2; ^2; 2 --> 27
начало 2
3 2+1 1
4 3+1; 2^2; 2*2 3
5 4+1 3
6 5+1; 3*2 3+1=4
7 6+1 4
8 7+1; 4*2 4+3=7
9 8+1; 3^2 7+1=8
10 9+1; 5*2 8+3=11
11 10+1 11
12 11+1; 6*2 11+4=15
13 12+1 15
14 13+1; 7*2 15+4=19
15 14+1 19
16 15+1; 8*2; 4^2 19+7+3=29
17 16+1 29
18 17+1; 9*2 29+8=37
19 18+1 37
20 19+1; 10*2 37+11=48
21 20+1 48
22 21+1; 11*2 48+11=59
23 22+1 59
24 23+1; 12*2 59+15=74
25 24+1; 5^2 74+3=77
26 25+1; 13*2 77+15=92
27 26+1 92