您的位置:首页 > 其它

HDU1128_Self Numbers_筛选法

2011-11-07 01:46 330 查看
题目大意:
         一个数n,比如n=75,或者n=39,则n可以根据下面这种规则生成87与51这两个数,所以87跟51这两个数就不是self number,而当有一个数不能由其他数根据这种方法生成过来的时候,这个数就称为self number.
d(75) = 75 + 7 + 5 = 87
d(39) = 39 + 3 + 9 = 51

There are thirteen self-numbers less than 100: 1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, and 97.
解题思路;
         直接打表打出所有 generator ,然后再筛选就行了。
代码:
[code]
#include
using namespace std;
const int MAX=1000002;
int gen[MAX*2];
void f(int a)
{
int b=a;
while(b)
{
a+=b%10;
b/=10;
}
gen[a]=1;
}
int main(void)
{
int i;
for(i=1;i
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: