ZJU 1180 Self Numbers(暴力模拟判断,水题)

题目链接

 同HDU 1128POJ 1316(这个范围小一点)。

 

原本怕超时,以为有技巧或者规律,死命的想,后来发现这就是一道水体,模拟着全部判断一下就好了,10秒呢,完全不怕超时。。。唔,废话有点多。。。

 

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int isself(int t)
{
    int n=t,len=0,temp,summ,i;
    while(n)
    {
        n=n/10;
        len++;
    }
    len=len*9;
    for(i=t-len;i<t;i++)
    {
        temp=summ=i;
        while(temp)
        {
            summ=summ+temp%10;
            temp=temp/10;
        }
        if(summ==t)return 0;
    }
    return 1;
}
int main()
{
    int i;
    printf("1\n3\n5\n7\n9\n");
    for(i=20;i<=1000000;i++)
    {
        if(isself(i))
            printf("%d\n",i);
    }
    return 0;
}
View Code

 

posted @ 2014-04-17 22:28  laiba2004  Views(91)  Comments(0Edit  收藏  举报