While, легкая задачка, но выходит ошибка !?
Похоже, что решение - это количество единиц в двоичном представлении исходного количества X.
5 - 101    - 2 единицы
8 - 1000  - 1 единица
15 -1111 - 4 единицы
и т.д.
С теми данными, что и там выдает правильные результаты:a = int(input("a: ")) #ввод

bact = 0 #кол-во добавленных бактерий

while True:
    if a % 2 == 1:
        bact += 1
    
    a = (a - (a % 2)) / 2

    if a == 1:
        bact += 1
        break

print(bact)