1) var f:text; a:array[1..7] of real; i,k,c,x:integer; s:string; begin for i:=1 to 7 do begin readln(x); a[i]:=x; end; assign(f,'file.txt'); rewrite(f); for i:=1 to 7 do begin str(a[i],s); writeln(f,s); end; close(f); reset(f); k:=0; while not eof(f) do begin readln(f,s); val(s,x,c); if x<0 then k:=k+1; end; close(f); if k<>0 then writeln('В массиве ',k,' отрицательных элемента(ов)'); else writeln('В массиве нет отрицательных элементов'); erase(f); end.
2) Var a,b,c,d:integer;
Function max(a,b:integer):integer; begin if a>b then max:=a else max:=b; end;
Begin readln(a,b,c,d); a:=(max(a,b)); b:=(max(c,d)); writeln('max=',max(a,b)); End.
Программа на python 3, перебирающая все возможные последовательности определённой длины: def shortest_chains(n): def next_chains(chain): new_elems = set() for i in range(len(chain)): for j in range(i, len(chain)): new_elem = chain[i] + chain[j] if new_elem > chain[-1] and new_elem not in new_elems: new_elems.add(new_elem) yield chain + [new_elem]
current_stage = None next_stage = [[1]] answer = [] while len(answer) == 0: current_stage = next_stage next_stage = [] for chain in current_stage: next_stage.extend(next_chains(chain)) answer = [chain[1:] for chain in next_stage if chain[-1] == n] return answer
def print_solution(n): answer = shortest_chains(n) print("Для {} есть {} решений(-я, -е):".format(n, len(answer))) for i in range(len(answer)): print("{}. {}".format(i + 1, " ".join(map(str, answer[i] print()
Запустив, можно получить все 5 возможных решений для числа 7, по 4 решения для 15 и 23 и 87 решений для 63.
var f:text; a:array[1..7] of real; i,k,c,x:integer; s:string;
begin
for i:=1 to 7 do
begin
readln(x);
a[i]:=x;
end;
assign(f,'file.txt');
rewrite(f);
for i:=1 to 7 do
begin
str(a[i],s);
writeln(f,s);
end;
close(f);
reset(f);
k:=0;
while not eof(f) do
begin
readln(f,s);
val(s,x,c);
if x<0 then k:=k+1;
end;
close(f);
if k<>0 then writeln('В массиве ',k,' отрицательных элемента(ов)');
else writeln('В массиве нет отрицательных элементов');
erase(f);
end.
2)
Var a,b,c,d:integer;
Function max(a,b:integer):integer;
begin
if a>b then max:=a
else max:=b;
end;
Begin
readln(a,b,c,d);
a:=(max(a,b));
b:=(max(c,d));
writeln('max=',max(a,b));
End.