Program z1; var a:array[1..100] of integer; n,i:byte;ma:integer; begin write('n=');readln(n); for i:=1 to n do begin write(i,')');readln(a[i]) end; ma:=a[1]; for i:=1 to n do begin if a[i]>ma then begin ma:=a[i] end end; for i:=1 to n do begin a[i]:=ma end; writeln('test n=',n); for i:=1 to n do begin writeln(a[i]) end; readln end.
Первый пират лжёт(второй сказал про 30 кладов, третий - про 26). 1)Остальные пираты говорят правду(кладов или 30, или 26). Раз 1 сказал правду, а оба солгали, то у них 6 + 4*2 = 14 кладов. Всех кладов у пиратов x, у остальных x-14 Раз остальные говорят правду, то (x-14) mod 6=0 14 mod 6 = 2 x mod 6 = 2 26 mod 6 = 2, т. е. пиратов 3 + (26-14)/6 = 5 2)Пираты солгали Следовательно, лгали все, тогда пиратов может быть сколько угодно(?), лишь бы кладов было ровно в 4 раза больше. Я думаю, первое решение подойдёт лучше
var a:array[1..100] of integer;
n,i:byte;ma:integer;
begin
write('n=');readln(n);
for i:=1 to n do begin
write(i,')');readln(a[i])
end;
ma:=a[1];
for i:=1 to n do begin
if a[i]>ma then begin
ma:=a[i]
end
end;
for i:=1 to n do begin
a[i]:=ma
end;
writeln('test n=',n);
for i:=1 to n do begin
writeln(a[i])
end;
readln
end.
1)Остальные пираты говорят правду(кладов или 30, или 26).
Раз 1 сказал правду, а оба солгали, то у них 6 + 4*2 = 14 кладов.
Всех кладов у пиратов x, у остальных x-14
Раз остальные говорят правду, то (x-14) mod 6=0
14 mod 6 = 2
x mod 6 = 2
26 mod 6 = 2, т. е. пиратов 3 + (26-14)/6 = 5
2)Пираты солгали
Следовательно, лгали все, тогда пиратов может быть сколько угодно(?), лишь бы кладов было ровно в 4 раза больше.
Я думаю, первое решение подойдёт лучше