.(Имеется ряд из n лампочек, которые пронумерованы от 1 до n. изначально ни одна из лампочек не горит. далее происходит k последовательных линейных инверсий этого ряда ламп. под линейной инверсией понимается инверсия каждой p-й
лампочки в ряде. например, если p=3, то произойдет инверсия 3й, 6й, 9й и т. д. лампочек. требуется определить: сколько горящих лампочек останется после реализации всех заданных линейных инверсий? написать рабочую прогу на
паскале).

Никиланджело Никиланджело    1   28.02.2019 05:10    44

Ответы
sdfdgrty66 sdfdgrty66  23.05.2020 16:36

program xxx;
var i, j, k, n, p, s : integer;
    a : array [1..20] of integer;
begin
  write ('введите количество инверсий -');
  readln(k);
  write ('введите количество ламп -');
  readln(n);
  for i:=1 to n do
    a[i]:=0;
  for i:=1 to k do
    begin
      write ('введите инверсию P-');
      readln(p);
      j:=p;
      while j<=n do
        begin
          if a[j]=0 then a[j]:=1 else a[j]:=0;
          j:=j+p
        end
    end;
  s:=0;
  for i:=1 to n do
    if a[i]=1 then s:=s+1;
  write ('Ламп горит -', s);
  readln
end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика