Укажите наибольшее натуральное число \(x\), при вводе которого будут напечатаны числа 8 и 5.
Копировать
var
x, a, b : integer;
begin
read(x);
a := 0; b := 0;
while x > 1 do begin
a := a + 1;
if x mod 2 <> x div 2 mod 2 then
b := b + 1;
x := x div 2
end;
writeln(a, ' ', b)
end.
Копировать
#include <iostream>
int main() {
int x, a = 0, b = 0;
std::cin >> x;
while (x > 1) {
a++;
if (x % 2 != x / 2 % 2)
b++;
x /= 2;
}
std::cout << a << " " << b;
}
Копировать
DIM X, A, B AS INTEGER
INPUT X
A = 0 : B = 0
WHILE X > 1
A = A + 1
IF X MOD 2 <> X \ 2 MOD 2 THEN
B = B + 1
END IF
X = X \ 2
WEND
PRINT A, " ", B
Копировать
x = int(input())
a = b = 0
while x > 1 :
a += 1
if x % 2 != x // 2 % 2 :
b += 1
x //= 2
print(a, b)