//poj2739 还是关于素数 打表先。
#include <iostream>
#include <string>
#include <iomanip>
#include <cmath>
using namespace std;
int a[10005];
bool prime(int k)
{
for(int i = 2; i < sqrt(k*1.0) + 1; i++)
{
if(k % i == 0)
{
return false;
}
}
return true;
}
void list()
{
int k = 2;
a[0] = 2;
a[1] = 3;
for(int i = 5; i < 10005; i++)
{
if(prime(i))
a[k++] = i;
}
}
int main()
{
list();
int n;
cin>>n;
while(n)
{
int ans = 0;
int total = 0;
for(int i = 0; a[i] <= n; i++)
{
total = 0;
for(int j = i; total <= n; j++)
{
total += a[j];
if(total == n)
{
ans++;
}
}
}
cout<<ans<<endl;
cin>>n;
}
return 0;
}
poj2739
最新推荐文章于 2021-08-10 14:47:52 发布