hdu 2710 Max Factor 数学(水题)
本来是不打算贴这道水题的,自己却WA了三次。。
要考虑1的情况,1的质因子为1
思路:先打表 ,然后根据最大质因子更新结果
代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<iostream> 2 #include<cstdlib> 3 #include<cstdio> 4 #include<cstring> 5 using namespace std; 6 #define MAX 20000 7 int p[MAX]; 8 int main() 9 { 10 memset(p,0,sizeof(p)); 11 p[1]=0; 12 for(int i=2;i<20000;i++) 13 { 14 if(p[i]==0) 15 { 16 int k=i*2; 17 while(k<20000) 18 { 19 p[k]=1; 20 k+=i; 21 } 22 } 23 } 24 25 int n; 26 int ans; 27 int m; 28 int maxn; 29 while(scanf("%d",&n)!=EOF) 30 { 31 maxn=0; 32 while(n--) 33 { 34 scanf("%d",&m); 35 if(p[m]==0) 36 { 37 if(m>maxn) {ans=m;maxn=m;} 38 continue; 39 } 40 int temp=m/2; 41 int j; 42 for(j=temp;j>maxn;j--) 43 { 44 if(p[j]==0&&m%j==0) 45 { 46 maxn=j;ans=m; 47 break; 48 } 49 } 50 51 } 52 cout<<ans<<endl; 53 } 54 return 0; 55 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步