[Luogu P2563]质数和分解
Posted clockwhite
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Luogu P2563]质数和分解相关的知识,希望对你有一定的参考价值。
话不多说,这是一道质数题+完全背包。先预处理筛出质数,直接背包就行。
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int pr[205],tot,x,f[205]; bool vis[205]; int main(){ for(int i=2;i<=200;++i){ if(!vis[i]){ pr[++tot]=i; for(int j=i+i;j<=200;j+=i)vis[j]=1; } } while(cin>>x){ memset(f,0,sizeof(f));f[0]=1; for(int i=1;i<=tot&&pr[i]<=x;++i){ for(int k=pr[i];k<=200;++k)f[k]+=f[k-pr[i]]; } cout<<f[x]<<endl; } return 0; }
以上是关于[Luogu P2563]质数和分解的主要内容,如果未能解决你的问题,请参考以下文章