412 - Pi

#include<stdio.h>
#include<string.h>
#include<math.h>
int G(int a,int b)
{
    int temp,gcd;
    while(b!=0)
    {
        temp=b;
        b=a%b;
        a=temp;
    }
    gcd=a;
    return gcd;
}
int main()
{
    long long int c,N,arr[60],i,j;
    double pi,sum,counter;
    while(scanf("%lld",&N)==1)
    {
        if(N==0)
        {
            break;
        }
        sum=0.0;
        counter=0.0;
        for(i=0; i<N; i++)
        {
            scanf("%lld",&arr[i]);
        }
        for(i=0; i<N; i++)
        {
            for(j=i+1; j<N; j++)
            {
                sum++;
                c=G(arr[i],arr[j]);
                if(c==1)
                {
                    counter++;
                }
            }
        }
        if(counter>0)
        {
            pi=sqrt((sum*6)/counter);
            printf("%.6lf\n",pi);
        }
        else
        {
            printf("No estimate for this data set.\n");
        }
        memset(arr,0,sizeof(arr));
    }
    return 0;
}

0 comments: (+add yours?)