注意精度。
/* ***********************************************
Author : ryc
Created Time : 2016-08-14 Sunday
File Name : E:\acm\大三暑假\uva10200.cpp
Language : c++
Copyright 2016 ryc All Rights Reserved
************************************************ */
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<queue>
#include<list>
#include<stack>
#include<vector>
#include<map>
using namespace std;
typedef long long LL;
typedef pair<int,int>pii;
const int maxn=10010;
double ans[maxn];
bool judge(LL n){
for(LL i=2;i*i<=n;++i){
if(n%i==0)return false;
}
return true;
}
void Count(){
ans[0]=1;
for(LL i=1;i<maxn;++i){
if(judge(i*i+i+41)){
ans[i]=ans[i-1]+1;
}
else {
ans[i]=ans[i-1];
}
}
}
int main()
{
Count();
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
if(a==0){
printf("%.2lf\n",ans[b]*1.0/(b+1)*100.0+1e-8);
}
else {
printf("%.2lf\n",(double)(1.0*(ans[b]-ans[a-1])*1.0/(b-a+1))*100.0+1e-8);
}
}
return 0;
}