[PTA] 5-17 Hashing (25分)
2016-01-06 18:54
351 查看
#include<stdio.h> #include<stdlib.h> #include<math.h> int a[10010]; int ans[10010]; int prime[10010]; int m,n; void GetPrime() { int MAX=10010; int i,j; prime[0]=0,prime[1]=0; for(i=2;i<MAX;i++)prime[i]=1; for(i=2;i<MAX;i++){ if(prime[i]){ for(j=2;i*j<MAX;j++){ prime[i*j]=0; } } } } void hash() { //m:哈希表大小 //n:用户输入大小 int i,j,x,y; for(j=0;j<n;j++){ scanf("%d",&x); for(i=0;i<m;i++){ y=(x+i*i)%m; if(!a[y]){ a[y]=1; ans[j]=y; break; } } if(i==m)ans[j]=-1; } } int main() { int i; GetPrime(); scanf("%d%d",&m,&n); while(!prime[m])m++; for(i=0;i<10010;i++)a[i]=0; hash(); for(i=0;i<n-1;i++){ if(ans[i]==-1)printf("- "); else printf("%d ",ans[i]); } if(ans[n-1]==-1)printf("-"); else printf("%d",ans[n-1]); return 0; }
相关文章推荐
- Unknown type name 'NSString' 问题已解决
- mysql、tomcat、java安装配置
- 源码安装php5.6时的配置:
- python4delphi Python could not be properly initialized. We must quit.
- ubuntu install octave
- node.js学习笔记之call,apply,bind
- iOS9 storyboard autolayout
- 【复习笔记】决策树学习
- 从零开始做运营 进阶篇
- Android提示版本更新(如何计算下载进度核心思路)
- Mars: A MapReduce Framework on Graphics Processors Dedug调试
- 大索引技术,大数据的未来
- ppp在linux下的编译和安装
- Windows 下 Quartus 检测不到 USB-Blaster 终极解决办法
- android学习日记(四):Fragment的实战下
- Oracle:alter table shrink space压缩碎片收缩高水位
- beaglebone black 镜像
- JAVA的面向对象编程----笔记
- Studio-----快捷键大全
- 算法时间复杂度分析基础