668

Pascal и системы счисления

Помогите если не трудноесть программа на паскале, она ишет в заданном диапзоне чисел те в двоичной записи которыых ровно k единиц, в результате выдает количество таких чисел, написать программу было достаточно просто, но дело в том что она работает слишком медленно, есть идеи как можно ускорить ее работу, или может быть другой алгоритм?вот мой вариант:var s,e:text;a,b,i,t,r:longint;k,c:byte;beginassign(s,'d.in');reset(s);read(s,a,b,k);close(s);for i:=a to b dobeginc:=0;t:=i;while t>0 dobeginc:=c+(t mod 2);t:=t div 2;end;if c=k then inc(r);end;assign(e,'d.out');rewrite(e);write(e,r);close(e);halt(0);end.
0