酷代码 AI
菜单
服务商

题目描述 给定两个正整数N和M(N<M),统计N到M之间(包含N和M)的正整数中,各个位上的数字之和为8的有多少个。 如:N=100,M=150,100到150之间有5个数,各个位上的数字之和为8。分别是107、116、 125、134、143。 输入 输入两个正整数N和M(100≤N<M≤801),且正整数之间以一个空格隔开。 输出 输出一个整数,表示N到M之间(包含N和M)的正整数中有多少个各个位上的数字之和为8。 样例输入 复制 100 150 样例输出 复制 5

以下是使用Python实现的代码: ```python # 读取输入的两个正整数N和M N, M = map(int, input().split()) # 初始化计数器 count = 0 # 遍历N到M之间的所有整数 for num in range(N, M + 1): # 计算当前数字各个位上的数字之和 digit_sum = sum(int(digit) for digit in str(num)) # 如果数字之和为8,则计数器加1 if digit_sum == 8: count = count + 1 # 输出结果 print(count) ``` 代码解释: 1. 读取输入:使用`input().split()`读取一行输入,并使用`map(int, ...)`将输入的字符串转换为整数,分别赋值给`N`和`M`。 2. 初始化计数器:使用变量`count`来记录满足条件的数字的个数,初始值为0。 3. 遍历数字:使用`range(N, M + 1)`遍历从`N`到`M`的所有整数。 4. 计算数字之和:将当前数字转换为字符串,然后遍历字符串中的每个字符,将其转换为整数并求和,得到当前数字各个位上的数字之和`digit_sum`。 5. 判断条件:如果`digit_sum`等于8,则将计数器`count`加1。 6. 输出结果:最后输出计数器`count`的值。 [2025-12-07 17:14:20 | AI问答 | 330点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多