找出1~n中各个位数之和不被2和5整除的数的个数
问题描述
小丽同学想在1~n中找出这样的数,这个数的各个位的和不能被2整除也不能被5整除,比如3、12、25、30、100。这些数都满足各个位的和不能被2和5整除。
请你编程找出1~n中这些数有多少个?
输入描述
一个整数n(n<=9999)
输出描述
1~n中满足条件的数的个数
思路
遍历1到n的每个数,判断它的各个位的和是否能被2整除或5整除,如果不能则计数加1。
代码实现如下
n = int(input())
count = 0
for i in range(1, n+1):
digits_sum = sum([int(digit) for digit in str(i)]) # 计算各个位的和
if digits_sum % 2 != 0 and digits_sum % 5 != 0: # 判断是否能被2或5整除
count += 1
print(count)
输入样例
100
输出样例
60
原文地址: https://www.cveoy.top/t/topic/qtA6 著作权归作者所有。请勿转载和采集!