【题目描述】
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数。现求所有小于等于n(n<100)与7无关的正整数的平方和。
【输入】
输入为一行,正整数n(n < 100)。
【输出】
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
【输入样例】
21
【输出样例】
2336
【思路】
1.要满足不能被7整除,就得用“if(n%10==7)retunr 1;”.
2.如果也要满足没有某一位上的数字为7,就得用n/10,算出来的就是下一位的数字,然后还要n%10(删去前一个数字)。
【代码】
#include<bits/stdc++.h>
using namespace std;
int pd(int a=0)
{
if(a%7==0)
{
return 1;
}
while(a>0)
{
if(a%10==7)//算出下一位
{
return 1;
}
a=a/10;//删去前一位
}
return 0;
}
int main()
{
int sum=0,n=0,a=0,i=0;
cin>>n;
for(i=1;i<=n;i++)
{
if(pd(i)==0)
{
a=i*i;
sum=sum+a;
}
}
cout<<sum;
return 0;
}
看没看懂都点个赞在离开吧!!!