1078. Hashing (25) 二次方探查法

简介: #include const int maxn = 10001;bool isprime(int a) { if(a == 1) return false;//素数为大于1且能被除了自身和1整除的数 fo...
#include <iostream>
const int maxn = 10001;
bool isprime(int a) {
    if(a == 1) return false;//素数为大于1且能被除了自身和1整除的数
    for(int i = 2; i * i <= a; i++)
        if(a % i == 0)
            return false;
    return true;
}
int func(int a) {//求下一个素数
    while(isprime(a) == false) a++;
    return a;
}
bool hashTable[maxn];
int main() {
    int MSize, n, key;
    scanf("%d %d", &MSize, &n);
    int size = func(MSize);
    for(int i = 0; i < n; i++) {
        scanf("%d", &key);//key wao
        int index = key % size;
        if(hashTable[index] == false) {
            hashTable[index] = true;
            if(i != 0) printf(" ");//在线处理
            printf("%d", index);
        } else {
            int flag = 0;
            for(int step = 1; step < size; step++) {//Quadratic probing
                index = (key + step * step) % size;//key wao
                if(hashTable[index] == false) {
                    hashTable[index] = true;
                    flag = 1;
                    if(i != 0) printf(" ");
                    printf("%d", index);
                    break;
                }
            }
            if(flag == 0) {
                if(i != 0) printf(" ");
                printf("-");
            }
        }
    }
    return 0;
}
目录
相关文章
|
12月前
|
SQL 分布式计算 Serverless
EMR Serverless Spark:一站式全托管湖仓分析利器
本文根据2024云栖大会阿里云 EMR 团队负责人李钰(绝顶) 演讲实录整理而成
575 58
|
前端开发 JavaScript 小程序
Docker实战 | 第三篇:Docker安装Nginx,实现基于vue-element-admin框架构建的项目线上部署
Docker实战 | 第三篇:Docker安装Nginx,实现基于vue-element-admin框架构建的项目线上部署
|
消息中间件 运维 Kubernetes
工作中用Go: Go中异步任务怎么写
工作中用Go: Go中异步任务怎么写
3570 0
工作中用Go: Go中异步任务怎么写
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 融合改进篇 | CCFM + Dyhead完美融合突破极限涨点 (全网独家首发)
YOLOv8改进 | 融合改进篇 | CCFM + Dyhead完美融合突破极限涨点 (全网独家首发)
654 2
【vue2项目总结】——路由相关总结
【vue2项目总结】——路由相关总结
147 0
|
前端开发 JavaScript Java
springboot+vue考研资料分享系统
本考研资料分享系统设计目标是实现考研资料的信息化管理,提高管理效率,使得考研资料交流工作规范化、科学化、高效化。本文研究的考研资料分享系统基于Springboot架构,采用JSP技术、JAVA编程语言和MYSQL数据库设计开发。通过本系统,实现了管理员和用户两个角色的功能,能够有效提高考研资料交流诊断效率。本系统经过测试,运行效果稳定,操作方便、快捷,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的考研资料分享系统。论文首先阐述了考研资料分享系统的开发,并对该系统进行了较详细的需求分析,探讨了考研资料分享系统的功能需求、业务流程、系统结构和数据库设计等方面的问题。望能利用先
576 0
|
物联网 API
设备端和服务端检测设备是否在线的方法
使用物联网时,有时设备端和服务端都需要检测设备是否在线。
1770 0
Halcon数据类型转换系列(1)图像image、区域region和轮廓xld的相互转换(★firecat推荐★)
Halcon数据类型转换系列(1)图像image、区域region和轮廓xld的相互转换(★firecat推荐★)
1639 0
错误一例:expected expression before } token
错误一例:expected expression before } token
323 0
|
JSON 前端开发 JavaScript
C# MVC 向页面传值方式
C# MVC 向页面传值方式