拆分素数和

输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。

对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。

输入样例
30
26
0
输出样例
3
2

#include
#include
#include
#include
#include
#include
using namespace std;
int a[10010];
int k=0;
void ss()
{
 int f=0;
 a[0]=0,a[1]=0,a[2]=1;
 for(int i=3;i<10010;i++)
 {
  f=0;
  for(int j=2;j<=sqrt(i*1.0);j++)
  {
   if(i%j==0)
   {
    f=1;
    a[i]=0;
    break;
   }
  }
  if(f==0) a[i]=1;
 }
 } 
int main()
{ 
 ss();
 int n;
 while(cin>>n&&n!=0)
 {
  int sum=0;
  for(int i=2;i

你可能感兴趣的:(HDOJ)