PAT a1078题解
来源:互联网 发布:java伪代码怎么写 编辑:程序博客网 时间:2024/05/20 05:57
#include <cstdio>#include <cmath>bool isPrime(int n){if(n <= 1) return false;int sqr = (int)sqrt(1.0 * n); for(int i = 2; i <= sqr; i++){if(n % i == 0) return false;}return true;}bool HashTable[10010] = {false};int main(){int n, m;scanf("%d%d", &n, &m);if(!isPrime(n)){for(int i = n; i < 20001; i++){if(isPrime(i)){n = i;break;}}}for(int i = 0; i < m; i++){int temp;scanf("%d", &temp);if(HashTable[temp % n]){int step;for(step = 1; step <n; step++){if(!HashTable[(temp + step * step) % n]){if(i != m - 1){printf("%d ", (temp + step * step) % n);HashTable[(temp + step * step) % n] = true;break;}if(i == m - 1){printf("%d", (temp + step * step) % n);HashTable[(temp + step * step) % n] = true;break;}}}if(step == n){if(i != m - 1){printf("- ");}if(i == m - 1){printf("-");}}}if(!HashTable[temp % n]){if(i != m - 1){printf("%d ", temp % n);HashTable[temp % n] = true;}if(i == m - 1){printf("%d", temp % n);HashTable[temp % n] = true;}}}return 0;}
阅读全文
1 0
- PAT a1078题解
- PAT-A1078
- pat-a1078. Hashing (25)
- PAT A1078.Hashing(25)
- PAT A1078 hashing (25)
- PAT A1078.Hashing
- 散列-PAT.A1078 Hashing
- PAT-A1078. Hashing (25)(哈希)
- PAT 1001-1010 题解
- PAT 1011-1020 题解
- PAT 1021-1030 题解
- PAT 1031-1040 题解
- PAT 1041-1050 题解
- PAT 1051-1060 题解
- PAT(basic level)题解
- PAT乙级题解
- PAT题解目录
- PAT甲级题解目录
- 初识Django
- python+spaCy 进行简易自然语言处理
- PAT a1077题解
- 房价真的会降吗?五大原因告诉你真相
- 远程报错:不属于指定网络。请验证计算机名称和您尝试连接到域。
- PAT a1078题解
- vscode编辑器——编译调试小问题
- 游戏开发行业,前景如何?需要哪些技术?
- 【c++】深浅拷贝,引用计数写时拷贝
- Android 绘制多个连续带数字圆圈。
- 【C++】【日志贴】浅谈标准库类型string、vector及C风格字符串在全局和局部作用域中默认初始值情况
- PAT a1079题解
- PAT a1080题解
- PAT a1081题解