代码如下:
#include <stdio.h> #include<math.h> #include <string.h> int gcd(int a,int b); int main() { int N,i,j,count; int a[55]; double PI; memset(a,0,55); while(scanf("%d",&N)&&N) { count=0; for(i=0;i<N;i++) { scanf("%d",&a[i]); } for(i=0;i<N;i++) { for (j=i+1;j<N;j++) { if (gcd(a[i],a[j])) { count++; } } } if (count) { PI=sqrt(3.0*N*(N-1)/count); printf("%.6lf\n",PI); } else { printf("No estimate for this data set.\n"); } } return 0; } int gcd(int a,int b) { int i; for(i=2;i<=a&&i<=b;i++) { if (a%i==0&&b%i==0) { return 0; } } return 1; }