素数筛 HDOJ 2136 Largest prime factor
来源:互联网 发布:php在线pdf阅读代码 编辑:程序博客网 时间:2024/04/28 04:59
题目传送门:
http://acm.hdu.edu.cn/showproblem.php?pid=2136
题目的大意是求出一个数的最大质因数在素数表中的位置。
素数筛法是一种判别素数的方法,对于范围不是特别大,需要反复查询的情况,效率较高。
memset(isprime, -1, sizeof(isprime)); isprime[1] = 0; for(int i = 2; i <= MAX; ++ i) if( isprime[i]) for(int j = i * 2; j <= MAX; j += i) isprime[j] = 0;
通过循环,制作从1到MAX的素数表。
#include <iostream>#include <cmath>#include <cstdlib>#include <cstdio>#include <cstring>#define MAX 1000001using namespace std;int main(int argc, char const *argv[]){ int n; int f[MAX] ; memset(f,-1,sizeof(f)); f[1] = 0; int pos = 0; int i,j; for (i = 2; i < MAX; i ++) { if (f[i] == -1) { pos ++; f[i] = pos; for (j = 2 * i; j < MAX; j += i) { f[j] = pos; } } } while (~scanf("%d",&n)) { cout << f[n] << endl; } return 0;}
0 0
- 素数筛 HDOJ 2136 Largest prime factor
- hdu-2136-Largest prime factor [素数筛]
- HDOJ(HDU) 2136 Largest prime factor(素数筛选)
- hdoj 2136 Largest prime factor 《半欧拉+素数打表+二分》
- HDOJ 2136 Largest prime factor
- HDOJ 2136 Largest prime factor
- hdoj 2136Largest prime factor
- hdoj-【2136 Largest prime factor】
- HDOJ 2136 Largest prime factor
- hdoj Largest prime factor
- hdoj Largest prime factor
- hdu 2136 Largest prime factor----类似筛素数的方法
- HDU-2136-Largest prime factor(素数筛法)
- HDU 2136 Largest prime factor(素数筛法)
- HDU 2136 Largest prime factor 数论-素数
- hdu 2136 Largest prime factor(素数筛选)
- HDU:2136 Largest prime factor!(素数)
- 【HDU 2136】Largest prime factor(素数)
- 发现一本讲STL的小人书---- 三十分钟掌握STL
- Two pointers (6) -- Palindrome Linked List, Remove Nth Node From End of List
- eclipse隐藏关闭的项目
- TCP/IP工作流5 connect 2
- 欢迎使用CSDN-markdown编辑器
- 素数筛 HDOJ 2136 Largest prime factor
- 设计模式之Iterator
- gruntjs结合seajs开发
- 2017寒假作业1
- hibernate基本操作增删改查
- Tomcat中Error copying file to /usr/share/tomcat7/backup/catalina.policy: /usr/share/tomcat7/backup/ca
- 第十章 多态 & 内部类
- 算法-算法基础
- 初探MeidaPlayer底层实现(三)