poj 2379 (快速建立素数表+尺取法)

来源:互联网 发布:淘宝apple store可靠么 编辑:程序博客网 时间:2024/05/16 05:20
#include<stdio.h>int prime[1500];void init(void){int a[11000],i,j=0;for(i=0;i<11000;i++)a[i]=1;a[0]=0;a[1]=0;for(i=2;i<11000;i++){if(a[i]){           for(j=i+i;j<11000;j+=i)   a[j]=0;}}j=0;for(i=0;i<11000;i++)if(a[i]){prime[j]=i;j++;}}void solve(int a){   int front=0,rear=0,ans=0,res=0;  while(1)   {  if(prime[rear]>a&&prime[front]>a)   break;   if(ans==a)   {   res++;   ans-=prime[front];   front++;   }   else   {   if(ans>a)   {   ans-=prime[front];   front++;   }   else   {   ans+=prime[rear];   rear++;   }   }  }   printf("%d\n",res);}int main(void){int x;init();    while(~scanf("%d",&x)&&x){solve(x);}}

0 0
原创粉丝点击