HDU 2710 Max Factor(素数筛选)
2012-01-13 09:12
239 查看
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2710
题目大意:给出几个数,找出最大的素数因子,如果素数因子相同,则输出最小的那个数。
思路:以前求素数都是用两层循环,现在这个数字比较大,还是用老方法会超时,所以很容易想到素数筛选(以前就做过一道素数筛选的题目,嘿嘿),题目唯一不同的就是在题目里面1是作为素数的(还是从网上找到的)。
代码:
题目大意:给出几个数,找出最大的素数因子,如果素数因子相同,则输出最小的那个数。
思路:以前求素数都是用两层循环,现在这个数字比较大,还是用老方法会超时,所以很容易想到素数筛选(以前就做过一道素数筛选的题目,嘿嘿),题目唯一不同的就是在题目里面1是作为素数的(还是从网上找到的)。
代码:
#include<stdio.h> #include<string.h> #define maxn 20001 int main() { int s,n,i,j,a[maxn],max,p; memset(a,0,sizeof(a));//**数组全部清零**// a[1]=1;//**去掉就错了,题目居然把1认作素数**// for(i=2;i<=maxn;i++) { if(a[i]==0) { for(j=i;j<=maxn;j=j+i)//**筛选法求素数**// { a[j]=i;//**此时j保存的就是最大的素数**// } } } while(~scanf("%d",&s)) { max=0; for(i=1;i<=s;i++) { scanf("%d",&n); if(a >max) { max=a ; p=n; } } printf("%d\n",p); } return 0; }
相关文章推荐
- HDOJ/HDU 2710 Max Factor(素数快速筛选~)
- HDOJ/HDU 2710 Max Factor(素数快速筛选~)
- Max Factor (hdu_2710) 素数筛选
- HDU 2710 Max Factor (筛选求素数)
- HDU 2710 Max Factor (素数筛选)
- HDU 2710 Max Factor【素数筛选】
- hdu2710 筛选法求素数
- 筛选素数法(HDU 2710)
- HDU 2710 Max Factor 素数先打表
- hdu 2710 Max Factor(找最大素数)
- HDU 2710 Max Factor
- HDOJ(HDU) 2138 How many prime numbers(素数-快速筛选没用上、)
- hdu 2710 Max Factor
- HDU-1268 找新朋友 (素数筛选)
- hdu 1999 不可摸数 筛选素数 两次打表
- HDU 2710 Max Factor [Ad Hoc]
- HDU 2136 Largest prime factor【素数筛选法】
- HDU-2710 Max Factor
- hdu 1262 寻找素数对(素数的判断,快速筛选素数)
- HDU 2710 Max Factor (水题)