View Code of Problem 103

#include<stdio.h>
#include<math.h>
int sushu(int n){
  int i;
  for(i=2;i<=sqrt(n);i++)
	  if(n%i==0)
		  return 0;
	  return 1;
}
int main(){
	int a,b,i,j,e,l,k;
	int f[100000]={0};
	   k=1;
	   f[0]=2;
	 for(i=3;i<=99999;i=i+2)
		  {
			if(sushu(i))
			  f[k++]=i;  
		  }

	while(scanf("%d%d",&a,&b)!=EOF)
	{
		e=l=0;
		for(j=0;j<10000;j++)
		{
			if(a<=f[j])
			{
				e=j;
			    break;
			}			
		}
		for(j=e+1;j<10000;j++)
		{
		    if(f[j+1]>b)
			{
				l=j;
				break;
			}
		}
		printf("%d\n",l-e+1);		
	}

	return 0;
}

Double click to view unformatted code.


Back to problem 103