Var ar:array[1..n] of integer; ar2:array[1..n] of integer; i,k:integer;
function prost(a:integer):boolean; var i:integer; b:boolean; begin b:=true; for i:=2 to a div 2 do if a mod i=0 then begin; b:=false; break; end; if a=1 then b:=false; prost:=b; end;
begin; randomize; k:=0; for i:=1 to n do begin; ar[i]:=random(101); write(ar[i]:4); end; writeln; for i:=1 to n do if prost(ar[i]) then begin; inc(k); ar2[k]:=ar[i]; write(ar2[k]:4); end; end.
ответ:
дано: s0 s, v0 s1, v1 s2, v2 s3, v3 t - ? s - ? решение: вообще, сначала рисуем график, отмечаем на нём вектора скоростей, каждую формулу записываем в векторном виде, а после переписываем их в обычном виде, но со расстановкой знаков: если вектор против оси х направлен, то v пойдёт в формулу с минусом, по оси х - с плюсом. t - время встречи, s - расстояние, которое пройдёт первый путник до встречи s = v0*t s1 = s0 -v1*t s2 = s0 -v2*t s3 = s0 -v3*t t = s / v0 t = (s0 - s1) / v1 t = (s0 - s2) / v2 t = (s0 - s3) / v3 (s0 - s3) / v3 = (s0 - s2) / v2 s0*v3 -s3*v3 = s0*v2 -s2*v2 s0*v3 -s0*v2 = s3*v3 -s2*v2 s0*(v3 -v2) = s3*v3 -s2*v2 s0 = (s3*v3 -s2*v2) / (v3 -v2) ( t = s / v0 t = (s0 - s1) / v1 ) s / v0 = (s0 - s1) / v1 s / v0 = ( (s3*v3 -s2*v2) / (v3 -v2) - s1) / v1 s = ( (s3*v3 -s2*v2) / (v3 -v2) - s1) / (v1*v0) t = s / v0 t = ( (s3*v3 -s2*v2) / (v3 -v2) - s1) / (v1*v0) / v0 = = ( (s3*v3 -s2*v2) / (v3 -v2) - s1)*v0 / (v1*v0) = = ( (s3*v3 -s2*v2) / (v3 -v2) - s1)/ v1
объяснение:
n=5;
Var
ar:array[1..n] of integer;
ar2:array[1..n] of integer;
i,k:integer;
function prost(a:integer):boolean;
var i:integer;
b:boolean;
begin
b:=true;
for i:=2 to a div 2 do
if a mod i=0 then
begin;
b:=false;
break;
end;
if a=1 then b:=false;
prost:=b;
end;
begin;
randomize;
k:=0;
for i:=1 to n do
begin;
ar[i]:=random(101);
write(ar[i]:4);
end;
writeln;
for i:=1 to n do
if prost(ar[i]) then
begin;
inc(k);
ar2[k]:=ar[i];
write(ar2[k]:4);
end;
end.