Имеется ряд из N лампочек, которые пронумерованы от 1 до N. Изначально ни одна из лампочек не горит. Далее происходит K последовательных линейных инверсий этого ряда ламп. Под линейной инверсией понимается инверсия каждой P-й лампочки в ряде. Например, если P=3, то произойдет инверсия 3й, 6й, 9й и т.д. лампочек.
Требуется определить: сколько горящих лампочек останется после реализации всех заданных линейных инверсий?
написать рабочую прогу на паскале
Ответы
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.