2011年10月30日星期日

POJ 1316


#include
int a[11000];
int main()
{
for(int i = 1;i < 10000;i++){
int s = 0,t = i;
while(t){
s += t % 10;
t /= 10;
}
s += i;
if(s > 10000)break;
a[s] = 1;
}
for(int i = 1;i <= 9994;i ++)
if(!a[i])printf("%d\n",i);
return 0;
}

这题原本看题目的时候就看出有规律了,但是保险起见还是小范围模拟下,发现是9个11和1个2之间的循环。不过还是先交了暴力的代码。再回头对比发现,前面的数据一样,然后中间不知道怎么的就少了2。看来还是有坑爹的地方啊。。。囧

没有评论:

发表评论