20 ! требуется написать программу, вычисляющую значение какой-либо функции (у )= х^2-5 , если х< 3 ≤ х ≤ 7 ; или (у) = х , если х = 0; (у)= х - 3 , если х > 7 ;
Var a,max,sum:integer; arr:array [0..2015] of integer; begin randomize; max:=-500; sum:=0; for a:=0 to 2015 do begin arr[a]:=random(1001)-500; if max<arr[a] then max:=arr[a]; end; write('максимальный элемент массива ==> ',max); writeln();
if max mod 2 = 1 then begin for a:=0 to 2015 do begin if arr[a] mod 2 =1 then sum:=sum+arr[a]; end; writeln('сумма чисел одинаковой чётности числу ',max,' = ',sum); end;
sum:=0; if max mod 2 = 0 then begin for a:=0 to 2015 do begin if arr[a] mod 2 =0 then sum:=sum+arr[a]; end; writeln('сумма чисел одинаковой чётности числу ',max,' = ',sum); end;
Схема 1)Количество монет в куче равно 1? 1a) Да, то это фальшивая монета выход 1b) Нет перейти к 2 2) разделим кучу поровну. перейти к 3 3)Правая куча тяжелее левой? 3a) Да, отложить правую и вернуться в (1) 3b) Да, отложить левую и вернуться в (1) Можно еще добавить условия в случае если ее там нет -1) разделим кучу на две поровну. перейти к 0 0) Кучи равны? 0а) Да, Выход нет фальшивой маеты 0b)Нет, перейти к 3 1)Количество монет в куче равно 1? 1a) Да, то это фальшивая монета выход 1b) Нет перейти к 2 2) разделим кучу на две поровну. перейти к 3 3)Правая куча тяжелее левой? 3a) Да, отложить правую и вернуться в (1) 3b) Да, отложить левую и вернуться в (1) Все гениальное просто:)
arr:array [0..2015] of integer;
begin
randomize;
max:=-500;
sum:=0;
for a:=0 to 2015 do begin
arr[a]:=random(1001)-500;
if max<arr[a] then max:=arr[a];
end;
write('максимальный элемент массива ==> ',max);
writeln();
if max mod 2 = 1 then begin
for a:=0 to 2015 do begin
if arr[a] mod 2 =1 then sum:=sum+arr[a];
end;
writeln('сумма чисел одинаковой чётности числу ',max,' = ',sum);
end;
sum:=0;
if max mod 2 = 0 then begin
for a:=0 to 2015 do begin
if arr[a] mod 2 =0 then sum:=sum+arr[a];
end;
writeln('сумма чисел одинаковой чётности числу ',max,' = ',sum);
end;
end.
1)Количество монет в куче равно 1?
1a) Да, то это фальшивая монета выход
1b) Нет перейти к 2
2) разделим кучу поровну. перейти к 3
3)Правая куча тяжелее левой?
3a) Да, отложить правую и вернуться в (1)
3b) Да, отложить левую и вернуться в (1)
Можно еще добавить условия в случае если ее там нет
-1) разделим кучу на две поровну. перейти к 0
0) Кучи равны?
0а) Да, Выход нет фальшивой маеты
0b)Нет, перейти к 3
1)Количество монет в куче равно 1?
1a) Да, то это фальшивая монета выход
1b) Нет перейти к 2
2) разделим кучу на две поровну. перейти к 3
3)Правая куча тяжелее левой?
3a) Да, отложить правую и вернуться в (1)
3b) Да, отложить левую и вернуться в (1)
Все гениальное просто:)