2010: 哈希函数~折叠法
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:38
Solved:14
Description
将关键字分割成若干部分,然后取它们的叠加和(舍掉进位)为哈希地址。
有两种叠加方法:
移位叠加:将分割后的每一部分的最低位对齐,然后相加;
间界叠加:从一端向另一端沿分割界来回折叠,然后对齐相加。
【题目描述】
输入一个很大的数字,存储空间限定 3 位,故哈希值也保留3位,求出哈希值。
有两种叠加方法:
移位叠加:将分割后的每一部分的最低位对齐,然后相加;
间界叠加:从一端向另一端沿分割界来回折叠,然后对齐相加。
此方法适合于:关键字的数字位数特别多。
设给定的关键字为 :
key = 23938587841,若存储空间限定 3 位, 则划分结果为每部分 3 位。上述关键码可划分为 4 部分:
239 385 878 41
例子2:
key = 347256198, 若存储空间限定 3 位, 则划分结果为每部分 3 位。上述关键码可划分为 3 部分:
分组: 347 256 198
【题目描述】
输入一个很大的数字,存储空间限定 3 位,故哈希值也保留3位,求出哈希值。
Input
输入一个大整数,长度<=100。
Output
输出两个哈希值,分别为移位叠加和间界叠加方法的哈希值。
Sample Input Copy
23938587841
Sample Output Copy
543 714
HINT
【注意】特别注意对于0为前缀的数字的反转处理,如对001的反转,是100。