| ||||||||||
| 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 | |||||||||
帮忙看一下RTE#include<iostream>
#include<math.h>
using namespace std;
int prime(int n)
{
int i;
if(n<2)
return 0;
if(n>=2 && n<4)
return 1;
for(i=2;i<=(int)sqrt(n*1.0);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int square(int n)
{
if(n==2)
return 1;
if((n-1)%4==0)
return 1;
return 0;
}
int main()
{
int he,mei,i,u,l,num1,shu1[1000000],num2,shu2[1000000],k;
cin>>u>>l;
if(u==l && l==-1)
return 0;
shu1[0]=shu2[0]=0;
shu1[1]=0;
shu2[1]=0;
shu1[2]=1;
shu2[2]=1;
num1=1;
num2=1;
for(i=3;i<=l;i+=2)
{
if(prime(i))
{
num1++;
if(square(i))
num2++;
}
shu1[i]=shu1[i+1]=num1;
shu2[i]=shu2[i+1]=num2;
}
k=l;
he=mei=0;
if(prime(l) && prime(u))
{
he=1;
if(square(l) && square(u))
mei=1;
}
if(u<0)
cout<<u<<' '<<l<<' '<<shu1[l]-shu1[0]<<' '<<shu2[l]-shu2[0]<<endl;
else
cout<<u<<' '<<l<<' '<<shu1[l]-shu1[u]+he<<' '<<shu2[l]-shu2[u]+mei<<endl;
while(1)
{
cin>>u>>l;
if(u==l && l==-1)
break;
if(l>k)
{
if(k%2==0)
{
shu1[k]=shu1[k-1];
shu2[k]=shu2[k-1];
k++;
}
for(i=k;i<=l;i+=2)
{
if(prime(i))
{
num1++;
if(square(i))
num2++;
}
shu1[i]=shu1[i+1]=num1;
shu2[i]=shu2[i+1]=num2;
}
k=l;
}
he=mei=0;
if(prime(l) && prime(u))
{
he=1;
if(square(l) && square(u))
mei=1;
}
if(u<0)
cout<<u<<' '<<l<<' '<<shu1[l]-shu1[0]<<' '<<shu2[l]-shu2[0]<<endl;
else
cout<<u<<' '<<l<<' '<<shu1[l]-shu1[u]+he<<' '<<shu2[l]-shu2[u]+mei<<endl;
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator