【题目描述】
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数。现求所有小于等于n(n<100)与7无关的正整数的平方和。
【输入】
输入为一行,正整数n(n < 100)。
【输出】
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
【输入样例】
21
【输出样例】
2336
我知道是两位数不需要用while,可是我不知道我这种写法错在哪里?编译运行后输入21,光标一直闪,死循环,不知道错在哪里?
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
if(i%7==0) continue;
int flag=0;
while(i>0)
{
if(i%10==7)
{
flag=1;break;
}
i/=10;
}
if(flag==1) continue;
sum+=i*i;
}
cout<<sum;
return 0;
}