Имеется ряд из N лампочек, которые пронумерованы от 1 до N. Изначально ни одна из лампочек не горит. Далее происходит K последовательных линейных инверсий этого ряда ламп. Под линейной инверсией понимается инверсия каждой P-й лампочки в ряде. Например, если P=3, то произойдет инверсия 3й, 6й, 9й и т.д. лампочек.

Требуется определить: сколько горящих лампочек останется после реализации всех заданных линейных инверсий?

написать рабочую прогу на паскале

1

Ответы и объяснения

  • ali07
  • главный мозг
2011-05-18T23:49:36+04:00

Это Проверенный ответ

×
Проверенные ответы содержат надёжную, заслуживающую доверия информацию, оценённую командой экспертов. На "Знаниях" вы найдёте миллионы ответов, правильность которых подтвердили активные участники сообщества, но Проверенные ответы - это лучшие из лучших.

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.