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;
}

 
posted @ 2022-08-15 11:02  HHDUK  阅读(232)  评论(0)    收藏  举报