program olimp4(input); uses crt; var x,y: array [1..100] of integer; a,n,m,i,j,k,max,sum,msum: integer; begin clrscr; assign(input,'input.txt'); reset(input); randomize; { данных из файла} readln(n); for i: =1 to n do read(x[i]); readln; readln(m); for j: =1 to m do read(y[j]); for k: =1 to 10000 do begin sum: =0; i: =1; j: =1; {пока сумма не отрицательна и кучки не закончились} while (sum> =0) and (i< =n) and (j< =m) do begin {случайное число 0,1} a: =random(2); {если 0, то выбор из первой кучки, если 1, - то из второй} if (a=0) then begin {подсчет суммы} sum: =sum+x[i]; i: =i+1; end else begin {подсчет суммы} sum: =sum+y[j]; j: =j+1; end; {максимальная сумма} if sum> msum then msum: =sum; end; {закончилась вторая кучка, продолжаем брать из первой} if i< =n then begin while i< =n do begin {подсчет суммы} sum: =sum+x[i]; {если сумма отрицательна, то выход из цикла} if sum< 0 then i: =n+2; {максимальная сумма} if sum> msum then msum: =sum; inc(i); end;
program olimp4(input); uses crt; var x,y: array [1..100] of integer; a,n,m,i,j,k,max,sum,msum: integer; begin clrscr; assign(input,'input.txt'); reset(input); randomize; { данных из файла} readln(n); for i: =1 to n do read(x[i]); readln; readln(m); for j: =1 to m do read(y[j]); for k: =1 to 10000 do begin sum: =0; i: =1; j: =1; {пока сумма не отрицательна и кучки не закончились} while (sum> =0) and (i< =n) and (j< =m) do begin {случайное число 0,1} a: =random(2); {если 0, то выбор из первой кучки, если 1, - то из второй} if (a=0) then begin {подсчет суммы} sum: =sum+x[i]; i: =i+1; end else begin {подсчет суммы} sum: =sum+y[j]; j: =j+1; end; {максимальная сумма} if sum> msum then msum: =sum; end; {закончилась вторая кучка, продолжаем брать из первой} if i< =n then begin while i< =n do begin {подсчет суммы} sum: =sum+x[i]; {если сумма отрицательна, то выход из цикла} if sum< 0 then i: =n+2; {максимальная сумма} if sum> msum then msum: =sum; inc(i); end;
Поделитесь своими знаниями, ответьте на вопрос:
Уважаемые знатоки, внимание, вопрос)) дано логическое выражение, зависящее от 5 логических переменных: z1 /\ ¬z2 /\ ¬z3 /\ ¬z4 /\ z5 сколько существует различных наборов значений переменных, при которых выражение ложно? в принципе могу посчитать, но вручную только, может знает кто, как это решается быстро? потому что в итоге получается больше 30-ти наборов, мне тупо перебирать их тяжело, да и ошибиться