Напишите в ответе количество различных значений входной переменной a из интервала от 1 до 100 (включая границы), при которых программа выдаёт тот же ответ, что и при входном значении a = 20. Значение a = 20 также включается в подсчёт различных значений a
Паскаль |
Си |
Python |
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.
|
#include <stdio.h>
int f(int x)
{
if (x>1)
return x%2+f(x/2);
else
return x;
}
int main(void)
{
int i, k, a;
k=0;
scanf("%d",&a);
for (i=1; i<=a; i++)
if (f(i)==1)
k = k + 1;
printf("%d",k);
}
|
def f(x):
if x > 1:
return x % 2 + f(x // 2)
else:
return x
k = 0
a = int(input())
for i in range(1, a+1):
if f(i) == 1:
k += 1
print(k) |