39:与7无关的数
描述
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.
输入输入为一行,正整数n(n < 100)输出输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
样例输入
21
样例输出
2336
题意
找出n以内所有7无关的数(不能被7整除,并且各个数位没有7)的平方和
解题思路
用for找出所有小于等于n的数,先用if判断这个数是否能被7整除,再用一个变量b代替i,再用while来计算出b各个位上的数是否为7,最后求出i的平方和
代码实现
#include<iostream>
using namespace std;
int main()
{
int n,a,s,b;
cin>>n;
for(int i = 1; i <= n; i++){ //i代表了n以内的数
if(i%7 != 0){
b=i; //用b代替了 i是因为在后面需要拆解i,所以应用b代替了
while(b!=0){
if(b%10==7){ //表示了判断了b各个数位上是否有7
a=1; //标记哪一个数是与7有关的
}
b=b/10; //分解b各个位上的数
}
if(a==0){
s=s+1*1;
}
a=0;
}
}
return 0;
}

浙公网安备 33010602011771号