| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
POJ3987 Javaimport java.util.Scanner;
import java.util.*;
public class Main
{
static int MAXN=100010; //最大整数
static int[] sum=new int[MAXN];
static void Primes() //求解算法
{
Arrays.fill(sum,0);
sum[0]=sum[1]=1;
for(int i=2;i<Math.sqrt((double)MAXN);i++)
{
if(sum[i]==0) //若i是素数
{ for(int j=i*i;j<MAXN;j+=i) //整除的肯定不是素数
{
if (j>MAXN) System.out.println("j>MAXN");
sum[j]=1;
}
}
}
sum[0]=0;
for(int i=1;i<MAXN;i++)
{
if(sum[i]>0) //若i不是素数
sum[i]=sum[i-1];
else //若i是素数
sum[i]=sum[i-1]+1;
}
}
public static void main(String[] args)
{
Scanner fin=new Scanner(System.in);
Primes();
int a,b,ans;
while(fin.hasNext())
{
a=fin.nextInt();
b=fin.nextInt();
if (a==-1 && b==-1)
break;
ans=0;
if (a>=1) ans=sum[b]-sum[a-1];
else ans=sum[b]-sum[0];
System.out.println(ans);
}
}
}
以上程序本地运行正确,为什么POJ中Rumtime error,请大家帮助啊!
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator