描述
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.
输入
输入为一行,正整数n(n < 100)
输出
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
样例输入
21
样例输出
2336
题意
找出N以内所有与7无关的数(不能被7整除且各个数位都不是7),并算出他们的平方和。
解题思路
先用for找出小于等于n的数,再用“%10”的方法来判段哪些数是与7无关的数,然后用b代替for中的i,然后用while算出n以内与7无关的i的平方和,最后输出sum。
代码实现
include<bits/stdc++.h>
using namespace std;
int main(){
int n,sum,sum1=0,a=0;
cin>>n;
for(int i=1;i<=n;i++){//i表示n以内的整数
if(i%7!=0){
sum=i;//用sum代替i是因为在后面需要拆解i,所以需要用sum代替i
while(sum!=0){
if(sum%10==7){//表示判断了sum各个数位上是否有7
a=1;//标记哪一个是与7有关的数
}
sum=sum/10;//表示分解sum各位上的数
}
if(a==0){
sum1=sum1+i*i;
}
a=0;//表示返回起点
}
}
cout<<sum1;
return 0;
}
标签:1.5,39,正整数,noi,输出,int,平方和,无关 From: https://www.cnblogs.com/adnss/p/16971865.html