标签:scanf set algorithm 规模 输入 == iostream style ems
#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstring> using namespace std; int prime[100005]; int dp[100005]; int cnt; void create() { cnt=0; int f; for(int i=2;i*i<=100005;i++) { f=1; for(int j=2;j*j<=i;j++) { if(i%j==0) { f=0; break; } } if(f==1) prime[cnt++]=i; } } int main() { int m,num; create(); scanf("%d",&m); memset(dp,0,sizeof(dp)); for(int i=1;i<=m;i++) { for(int j=0;j<cnt;j++) { // cout<<j<<endl; if(prime[j]>sqrt(i)) break; if(i%prime[j]==0) dp[i]=max(dp[i],dp[i-prime[j]*2]+prime[j]); } // printf("dp[%d]=%d\n",i,dp[i]); } printf("%d\n",dp[m]); }
标签:scanf set algorithm 规模 输入 == iostream style ems
原文地址:http://www.cnblogs.com/a249189046/p/6679248.html