Есть ответ 👍

Вочереди за билетами стоят мужчины и жещины. сколько мужчин стоят в начале очереди до 1 женщины. паскаль

285
422
Посмотреть ответы 3

Ответы на вопрос:


Женщин надо пропускать,потому нет их в начале!

Program pr; var pol: string; i,k,n: integer; begin repeat writeln ('введите количество людей в очереди'); readln (n); until n> 0; k: =0; for i: =1 to n do begin writeln ('введите пол очередного человека в очереди'); readln (pol); if pol='мужчина' then k: =k+1 else break {принудительное завершение цикла}; end; if k=0 then writeln ('мужчин в начале очереди нет') else writeln ('мужчина в начале очереди ',k); end.

program yabidlo;

var

  i, a: longint;

  x,

  u, j,  

  n, m : longint;

function fdiv (a, left : longint) : longint;

var

d,  

i : longint;

begin

d : = 1;  

for i : = left to trunc (sqrt (a)) do

if (a mod i = 0)

then

begin

d : = i;  

break;  

end;

if (d < > 1)

then

fdiv : = d

else  

fdiv : = a;

end;

function g (n, u : longint) : longint;

var

i : longint;  

begin

i : = 0;  

while (n mod u = 0)

do

begin

inc (i);

n : = n div u;

end;

g : = i;

end;

begin

assign (input, 'input.txt');

assign (output, 'output.txt');

reset (input);

read (a);

close (input);

m : = 0;

n : = 1;  

i : = fdiv (a, 2);

u : = 2;  

while (a > 1)

do

begin

n : = n * i;  

j : = 0;  

  while (a mod i = 0)

  do

begin

inc (j);

a : = a div i;

end;

if (j > m)

then

begin

m : = j;  

u : = i;  

end;

i : = fdiv (a, i + 2);

end;

x : = 1;

while (g (n * x, u) * n * x < m)

do

inc (x);

n : = n * x;  

rewrite (output);

write (n);

close (output);

end.

Популярно: Информатика