502) Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число x, не превосходящее 1000, и выводится количество единиц в двоичной записи этого числа. Программист торопился и написал программу неправильно.
x = int(input())
count = 0
while x > 0:
count = count + 1
x = x % 2
print(count)
var x, count: integer;
begin
readln(x);
count := 0;
while x > 0 do begin
count:=count + 1;
x := x mod 2
end;
writeln(count)
end.
#include <iostream>
using namespace std;
int main() {
int x, count;
cin >> x;
count = 0;
while (x > 0) {
count = count + 1;
x = x % 2;
}
cout << count << endl;
}
Последовательно выполните следующее:
1. Напишите, что выведет эта программа при вводе числа 6.
2. Приведите пример такого числа x, что, несмотря на ошибки, программа печатает правильный ответ.
3. Найдите все ошибки в этой программе