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
一个数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
相关文章推荐
- Self Numbers[HDU1128]
- POJ 1316 Self Numbers 筛选模拟
- HDU1128:Self Numbers(哈希)
- HDU1128:Self Numbers
- HDU-1128 Self Numbers 筛选
- python--728 Self Dividing Numbers
- Self Dividing Numbers
- [置顶] [LeetCode]Self Dividing Numbers
- leetcode -- Count of Smaller Numbers After Self -- 经典求逆序数
- leetcode:Count of Smaller Numbers After Self
- SGU 108 Self-numbers 2
- leetcode 315. Count of Smaller Numbers After Self 右侧比自己小元素的数量+暴力求解
- leetcode 315. Count of Smaller Numbers After Self(Hard)
- Self Dividing Numbers问题及解法
- Leetcode算法学习日志-315 Count of Small Numbers After Self
- Count of Smaller Numbers After Self
- LeetCode 315. Count of Smaller Numbers After Self
- Count of Smaller Numbers After Self
- Leetcode Count of Smaller Numbers After Self
- Self Numbers(1128)