Шешімі: Подсчёт восьмеричных чисел
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 0. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \le N \le 1000$), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число — количество искомых элементов последовательности.
Пример работы программы: при входных данных 5, 480, 552, 888, 3024, 4120 программа должна вывести 3.
Шешім по шагам
4 қадамЧетырёхзначная запись в восьмеричной системе начинается с числа $8^3 = 512$ и заканчивается числом $8^4 - 1 = 4095$.
Последняя цифра восьмеричной жазбалар равна 0, если число делится на 8 без остатка.
Последовательно считываем все $N$ чисел. Если число находится в диапазоне от 512 до 4095 и делится на 8, увеличиваем счётчик.
После обработки всей последовательности выводим значение счётчика.
$$count = \sum [512 \le x \le 4095 \ \text{и} \ x \bmod 8 = 0]$$```python
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 512 <= x <= 4095 and x % 8 == 0:
count += 1
print(count)
```
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют только делимость на 8, не учитывая, что жазба должна быть четырёхзначной.
Используют диапазон от 512 до 4096 включительно, хотя число 4096 уже имеет пятизначную запись в восьмеричной системе.
Проверяют последнюю цифру десятичной жазбалар вместо последней цифры восьмеричной жазбалар.