- Регистрация
- 22 Янв 2008
- Сообщения
- 553
- Реакции
- 2
- Баллы
- 0
Программа на паскале
найти количество чисел не больше N, которые имеют в двоичном виде 3 ноля.
вот что получилось:
но не правильно работает. помогите
program zero;
uses crt;
var b:array [1..255] of integer;
l,t,n,i,k,j:integer;
begin
clrscr;
write('Vvedite t=');
readln(t);
i:=0; k:=0; l:=0; j:=2;
while j<=t do
begin
while j>=1 do
begin
i:=i+1;
b:=j mod 2;
j:=j div 2;
if b=0 then k:=k+1;
end;
{end; }
if k=3 then
begin
l:=l+1;
{writeln(j);}
n:=i;
for i:=n downto 1 do
writeln(b);
end;
writeln('kolichestvo=',l);
j:=j+1;
end;
{end;}
{end; }
end.
найти количество чисел не больше N, которые имеют в двоичном виде 3 ноля.
вот что получилось:
но не правильно работает. помогите
program zero;
uses crt;
var b:array [1..255] of integer;
l,t,n,i,k,j:integer;
begin
clrscr;
write('Vvedite t=');
readln(t);
i:=0; k:=0; l:=0; j:=2;
while j<=t do
begin
while j>=1 do
begin
i:=i+1;
b:=j mod 2;
j:=j div 2;
if b=0 then k:=k+1;
end;
{end; }
if k=3 then
begin
l:=l+1;
{writeln(j);}
n:=i;
for i:=n downto 1 do
writeln(b);
end;
writeln('kolichestvo=',l);
j:=j+1;
end;
{end;}
{end; }
end.