http://acm.hdu.edu.cn/showproblem.php?pid=2710
找出拥有最大素因子的数,基本的素数筛选
View Code
#include <stdio.h> int prime[110000]; int main() { int t,n; int i,j; int max,maxnum; for(i=2;i*i<=100001;i++) if(!prime[i]) for(j=i;j*i<=100001;j++) prime[i*j]=1; while(~scanf("%d",&t)) { max=-1000000; while(t--) { scanf("%d",&n); for(i=n;i>=1;i--) if(prime[i]==0&&n%i==0&&max<i) { max=i; maxnum=n; break; } } printf("%d\n",maxnum); } return 0; }