问题描述

小丽同学想在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
找出1~n中各个位数之和不被2和5整除的数的个数

原文地址: https://www.cveoy.top/t/topic/qtA6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录