Advertisement
Mohammad_Dipu_Sultan

Saleh uva 412

Jun 12th, 2020
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.33 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long           ll;
  4. typedef unsigned long long  ull;
  5. template <typename T> T Sqr(T x) { T n = x * x ; return n ;}
  6. template <typename T> T Pow(T B,T P){ if(P==0) return 1; if(P&1) return B*Pow(B,P-1);  else return Sqr(Pow(B,P/2));}
  7. template <typename T> T Abs(T a) {if(a<0)return -a;else return a;}
  8. template <typename T> T Gcd(T a,T b){if(a<0)return Gcd(-a,b);if(b<0)return Gcd(a,-b);return (b==0)?a:Gcd(b,a%b);}
  9. template <typename T> T Lcm(T a,T b) {if(a<0)return Lcm(-a,b);if(b<0)return Lcm(a,-b);return a*(b/Gcd(a,b));}
  10. int gcd(int a,int b)
  11. {
  12.     while(b)
  13.     {
  14.         a=a%b;
  15.         swap(a,b);
  16.     }
  17.     return a;
  18. }
  19.  
  20. int main()
  21. {
  22.     ll n;
  23.     while(scanf("%lld",&n)==1 && n)
  24.     {
  25.         ll a[100000],c,d=0,e,f,i,j,k,l;
  26.         double pi;
  27.         for(i=0;i<n;i++)
  28.         {
  29.             scanf("%lld",&a[i]);
  30.         }
  31.         for(i=0;i<n-1;i++)
  32.         {
  33.             for(j=i+1;j<n;j++)
  34.             {
  35.                 c=gcd(a[i],a[j]);
  36.                 if(c==1)
  37.                 {
  38.                     d++;
  39.                 }
  40.             }
  41.         }
  42.         e=(n*(n-1))/2;
  43.         if(d==0) printf("No estimate for this data set.\n");
  44.         else
  45.         {
  46.             pi=(double)sqrt((6.0000*e)/d);
  47.             printf("%.6lf\n",pi);
  48.         }
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement