import java.math.BigInteger;
import java.util.*;
class Main {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
List<BigInteger> a=new ArrayList<BigInteger>();
for(BigInteger i=new BigInteger("2");i.compareTo(new BigInteger("10001"))==-1;i=i.add(BigInteger.ONE)){
if(i.isProbablePrime(10))
a.add(i);
}
while(true){
BigInteger n=in.nextBigInteger();
if(n.equals(BigInteger.ZERO))
return;
int i=0,j=0;
BigInteger sum=a.get(0);
int ans=0;
do{
// System.out.println(sum);
int val=sum.compareTo(n);
if(val==-1){
j++;
if(j<a.size())
sum=sum.add(a.get(j));
}
else if(val==1){
sum=sum.subtract(a.get(i));
i++;
}
else{
ans++;
j++;
if(j<a.size())
sum=sum.add(a.get(j));
}
}
while(i>=0&&j<a.size()&&n.compareTo(a.get(j))!=-1);
System.out.println(ans);
}
}
}
import java.util.*;
class Main {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
List<BigInteger> a=new ArrayList<BigInteger>();
for(BigInteger i=new BigInteger("2");i.compareTo(new BigInteger("10001"))==-1;i=i.add(BigInteger.ONE)){
if(i.isProbablePrime(10))
a.add(i);
}
while(true){
BigInteger n=in.nextBigInteger();
if(n.equals(BigInteger.ZERO))
return;
int i=0,j=0;
BigInteger sum=a.get(0);
int ans=0;
do{
// System.out.println(sum);
int val=sum.compareTo(n);
if(val==-1){
j++;
if(j<a.size())
sum=sum.add(a.get(j));
}
else if(val==1){
sum=sum.subtract(a.get(i));
i++;
}
else{
ans++;
j++;
if(j<a.size())
sum=sum.add(a.get(j));
}
}
while(i>=0&&j<a.size()&&n.compareTo(a.get(j))!=-1);
System.out.println(ans);
}
}
}
Comments
Post a Comment