如何编写程序统计整数末尾零数量?咨询实现条件
统计整数末尾零的数量实现方案
核心判断逻辑
要统计整数末尾的零,核心思路是持续检查数字的最后一位是否为0,直到遇到非0数字或数字变为0为止:
- 循环触发条件:当数字对10取余的结果为0时(
num % 10 == 0),说明当前最后一位是0,需要计数 - 循环内操作:计数加1,同时将数字整除10(
num = num // 10),去掉最后一位的0 - 循环终止条件:当数字对10取余不为0,或数字变为0时,停止循环
代码实现(整数运算版)
num = int(input("请输入一个整数:")) zero_count = 0 # 处理输入为0的特殊情况 if num == 0: zero_count = 1 else: while num % 10 == 0: zero_count += 1 num = num // 10 print(f"末尾零数量为{zero_count}")
示例运行:输入
24100,程序会依次检查24100%10=0(计数1,num变为2410)、2410%10=0(计数2,num变为241),此时241%10=1≠0,循环终止,输出末尾零数量为2
另一种实现(字符串处理版)
如果觉得整数运算麻烦,也可以把数字转为字符串,从末尾往前统计连续的'0':
num_str = input("请输入一个整数:") zero_count = 0 # 从字符串末尾反向遍历 for char in reversed(num_str): if char == '0': zero_count += 1 else: break print(f"末尾零数量为{zero_count}")
这个方法的判断逻辑更直观:只要末尾字符是'0'就计数,遇到第一个非'0'字符就停止遍历。
内容的提问来源于stack exchange,提问作者JJwupee
相关产品推荐
相关产品推荐

