题目链接:http://acm.hust.edu.cn/vjudge/problem/22214
代码:
#include<cstdio>
int prime(int x)
{
if(x==0||x==1)
return 1;
else
{
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
return 0;
}
}
return 1;
}
int main()
{
int num[10000+10];
num[0]=1;
for(int i=1;i<10010;i++) //打表
{
if(prime(i*i+i+41))
num[i]=num[i-1]+1;
else
num[i]=num[i-1];
}
int a,b;
int s,sum;
while(~scanf("%d%d",&a,&b))
{
sum=num[b]-num[a]+prime(a*a+a+41);
s=b-a+1;
printf("%.2lf\n",sum*1.0/s*100+1e-7);
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-1298749.html