题目描述
一个正整数,如果它能被 7 整除,或者它的十进制表示法中某一位上的数字为 7,则称其为与 7 相关的数。现求所有小于等于 n(n<100) 与 7无关的正整数的平方和。
输入格式
输入为一行,正整数 n(n<100)。
输出格式
输出一行,包含一个整数,即小于等于 n的所有与 7 无关的正整数的平方和。
输入输出样例
输入
21
输出
2336
代码
// 引入万能头文件,它包含了 C++ 标准库中大部分常用的头文件。
// 但它并非标准 C++ 的一部分,某些编译器可能不支持。
#include<bits/stdc++.h>
// 使用标准命名空间 std,这样在后续代码里使用标准库的类和函数时,
// 无需添加 std:: 前缀,不过可能会导致命名冲突。
using namespace std;
int main()
{
// 定义两个整型变量
// n 用于存储用户输入的一个整数,代表循环的上限
// s 用于存储满足特定条件的数的平方和,初始化为 0
int n, s = 0;
// 从标准输入(通常是键盘)读取一个整数,并将其赋值给变量 n
cin >> n;
// 开始一个 for 循环,循环变量 i 从 1 开始,每次循环结束后 i 加 1,
// 直到 i 大于 n 时停止循环,此循环用于遍历从 1 到 n 的所有整数
for(int i = 1; i <= n; i++)
{
// 判断当前的数 i 是否满足特定条件
// i % 10 != 7 :判断 i 的个位数是否不为 7
// i / 10 != 7 :判断 i 的十位数是否不为 7
// i % 7 != 0 :判断 i 是否不能被 7 整除
// 只有当以上三个条件都满足时,才会执行下面的代码块
if(i % 10 != 7 && i / 10 != 7 && i % 7 != 0)
{
// 如果满足条件,将 i 的平方累加到变量 s 中
s += i * i;
}
}
// 输出满足条件的数的平方和 s
cout << s;
// 主函数正常结束,返回 0 表示程序成功执行
return 0;
}