Advertisement
Saleh127

UVA 412.cpp

Jun 15th, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 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