Задание

Напишите в ответе количество различных значений входной переменной a из интервала от 1 до 100 (включая границы), при которых программа выдаёт тот же ответ, что и при входном значении a = 20. Значение a = 20 также включается в подсчёт различных значений a.

var i, k,a: integer;

function f(x: integer): integer;

begin

if x >1 then

f := x mod 2 * f(x div 2)

else

f := x;

end;

begin

k := 0;

readln(a);

for i := 1 to a do

if f(i) =1 then k:=k+1;

writeln(k);

end.