素性测试
2016-04-08 19:13
267 查看
例:素数判定
题意:给定整数n,请判定n是不是素数。
题意:给定整数n,请判定n是不是素数。
//假设输入的都是正数 //素性测试,复杂度为根号n bool is_prime(int n) { for (int i = 2; i * i <= n; i++){ if (n % i == 0){ return false; } return n != 1; //1是例外 } } //约数枚举,复杂度为根号n vector<int> divisor(int n) { vector<int> res; for (int i = 1; i * i <= n; i++){ if (n % i == 0){ res.push_back(i); if (i != n / i) res.push_back(n / i); } } return res; } //整数分解,复杂度为根号n map<int , int> prime_factor(int n) { map<int, int> res; for (int i = 2; i * i <= n; i++){ while (n % i == 0){ ++res[i]; n /= i; } } if (n != 1) res = 1; return res; }
相关文章推荐
- 用到二分搜索的抽签问题
- Bless all.
- 加密解密技术基础、PKI及创建私有CA
- 【NOIP模拟】有趣的有趣的家庭菜园
- 下拉框多选
- PID-4769-Animals
- 记一次未解决的异常:java.lang.NoClassDefFoundError: net/sf/json/JSONObject
- 计算数学表达式
- 111
- 修改Python IDLE代码配色及语法高亮主题
- centos6.5环境通达OA数据库mysql5.0.67升级至mysql5.5.48方案
- 1002:归并排序
- 安卓平台架构及特性
- centos6.5环境通达OA数据库mysql5.0.67升级至mysql5.5.48方案
- [Java8 Collection源码+算法+数据结构]-List(二)
- 阐述线程状态之间的关系
- Eclipse的PHP插件PHPEclipse安装和使用
- 线性表 及Java实现 顺序表、链表、栈、队列
- 浅谈套接字编程—TCP
- Android Bluetooth 框架简读 <3>