OpenJudge2701(与7无关的数)
一、考点
考点:模拟
二、思路和代码
#include<cstdio>
#include<cstring>
int num[101]={0};//0表示与7无关
void init()
{
//7的倍数
int i=1;
while(7*i<=100)
{
num[7*i]=1;
++i;
}
//个位和十位
for(i=7;i<100;++i)
{
//短路原则,7的时候,i/10不会发生
if((7==(i%10))||(7==(i/10)))
{
num[i]=1;
}
}
}
int main()
{
init();
int n;
while(~scanf("%d",&n))
{
int sum=0;
for(int i=1;i<=n;++i)
{
if(0==num[i])
{
sum+=i*i;
}
}
printf("%d\n",sum);
}
return 0;
}