#include<stdio.h>
#include<math.h>
#include<stdlib.h>
//int huzhi(int s1,int s2) //这是一开始的思路,会TLE
//{
// int i,j,k,xiao;
// if(s1<s2)
// xiao=s1;
// if(s1>s2)
// xiao=s2;
// for(i=2;i<=xiao;i++)
// if((s1%i==0)&&(s2%i==0))
// {
// return 0;
// break;
// }
// return 1;
//}
int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a%b);
}
int main()
{
freopen("in.txt","r",stdin);
int n,i,j,k;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
int jishu=0,shu[60],zong=0;
for(i=0;i<n;i++)
scanf("%d",&shu[i]);
for(i=0;i<n-1;i++) //注意是i小于n-1!
for(j=i+1;j<n;j++)
{
// if(huzhi(shu[i],shu[j]))
// jishu++;
int lmax,lmin;
if(shu[i]>shu[j])
{
lmax = shu[i];
lmin = shu[j];
}
if(shu[i]<=shu[j]) //注意包含等于的情况
{
lmax = shu[j];
lmin = shu[i];
}
if (gcd(lmax,lmin) == 1)
jishu++;
}
zong=n*(n-1)/2; //这样计算zong的值,运用公式!
if(jishu==0)
printf("No estimate for this data set.\n");
if(jishu!=0)
printf("%.6lf\n",sqrt(6*zong*1.0/jishu));
}
return 0;
}
UVA-412-Pi
最新推荐文章于 2021-02-18 18:01:40 发布