Python【算法题(进制转换)】

小明今年18岁了,正常来说,应该在蛋糕上,插入18跟蜡烛,但是小明不是一般人,他是程序员,
    他考虑到18的进制是10010,所以他在蛋糕上插入了五个蜡烛,点燃了其中两跟,问:
    如果用户输入年龄,请你安排插入的蜡烛数和点燃的蜡烛数
    
    输入:n     n>=1 n <=200
    输入x, y    x表示蜡烛总数量,y表示点燃的蜡烛数量
    案例1
    输入 18
    输出 5, 2

    案例2:
    输入 8
    输出 4    1

代码如下:

num = int(input("请输入你的年龄:"))
if num < 0:
    print("请重新输入你的年龄:")
    num = int(input("请输入你的年龄:"))
else:
    binary = " "
    while num > 0:
        remainder = num % 2
        binary = str(remainder) + binary
        num = num // 2
print(f"你的年龄用二进制表示为:{binary}")

one_count = binary.count('1')
zeros_count = binary.count('0')
print(f"蜡烛的总数量为:{one_count},点燃蜡烛的数量为:{one_count + zeros_count}")

你可能感兴趣的:(Python,python,算法,java)