小C不是很喜欢数字“7”。 对于给定的一个正整数,小 C 对能被 7 整除的正整数,或者它的十进制表示法中某一位上的数字为 7,则称其为与 7 相关的数。现求所有小于等于n的与7无关的正整数的和。 输入格式 从文件 seven.in 中读取数据。 输入为一行,正整数n。 输出格式 输出到文件 seven.out 中。 输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的和。 输入输出样列 输入样例1: 21 输出样例1: 172 说明 【数据范围】 n <=10000
时间: 2023-02-05 12:52:42 浏览: 53
输入两个正整数m和n,求其最大公因数和最小公倍数
小 C 不喜欢数字“7”,所以需要求出所有小于等于 n 的与 7 无关的正整数的和。这些数可以被表示为不能被 7 整除,并且十进制表示法中没有数字 7 的正整数。
为了解决这个问题,我们可以使用一个简单的暴力算法:从 1 开始枚举所有小于等于 n 的数,如果它不能被 7 整除且十进制表示法中没有数字 7,则将它加入到答案中。
我们可以使用一个循环来实现这个算法,并在循环中使用判断语句来测试数字是否与 7 相关。
例如,假设我们想要在 Python 中实现这个算法,代码可能如下所示:
```
def solve(n):
ans = 0
for i in range(1, n+1):
if i % 7 != 0 and '7' not in str(i):
ans += i
return ans
```
以上代码中,我们使用了一个循环来枚举所有小于等于 n 的数,并使用判断语句来测试这些数是否与 7 相关。如果不是,则将它们加入到答案中。
最后,我们将答案输出到文件 seven.out 中,并结束程序。
例如,假设输入文件 seven.in 中包含数字 21,则输出文件 seven.out 应包含数字 172。
阅读全文