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;
Поделитесь своими знаниями, ответьте на вопрос:
слева - значения переменной на момент их вывода.
1. k=20 k=20+10=30 k=30=> k: =k-1=> k=29.2. k=20 k=30 k+10< > 30=> k: =k-1=> k=29.3. p=1 p> 0=> p: =p+5=> p=6 p< 10=> p не изменяетсяp=64. p=5 p> 0=> p=5*2=10 p> 5=> p=10-1=9p=95. p=0 p=1 p< > 0=> p=1-1=0p=06. p=5 p=5*2=10 p mod 2=0=> выводим pp=10