OpenJudge2701(与7无关的数)

93 阅读1分钟

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