1491:Pi
keyword
シミュレーション C++
概要
適当に数を選ぶと全ての組合せの内互いに素である確率は6/π^2に収束するらしい。実際に数字が50個程度与えられるときπの値を見積もる問題。ただし互いに素である数が一組もなかったらその旨出力すること。
サイズが小さいので単に(n,2)通り試すだけ。
int main(){ int n, ns[52], i, j, cnt; while(scanf("%d",&n)){ if(!n) break; cnt = 0; REP(i,n) scanf("%d",ns+i); REP(i,n)for(j=i+1;j<n;j++)if(__gcd(ns[i],ns[j])==1) cnt++; if(cnt) printf("%.6f\n",sqrt((double)n*(n-1)*0.5/cnt*6.0)); else printf("No estimate for this data set.\n"); } return 0; }