Pi

题意:给你n个数字,让你求出其中任意两个数互质所占的比重,求出Pi ;根据题意6/Pi ^2 == (互质组数)/(总数C(N,2 ));

其次,控制精度即可

// File Name: 1059.cpp
// Author: bo_jwolf
// Created Time: 2014年02月03日 星期一 20时45分14秒

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std;

const int maxn =100005;
int num[ maxn ];
int Gcd( int a, int b ){
	return b == 0 ? a : Gcd( b, a % b );
}

int main(){
	int n;
	while( cin >> n ){
		if( !n )
			break;
		for( int i = 0; i < n; ++i )
			cin >> num[ i ];
		int ans = 0;
		for( int i = 0; i < n; ++i ){
			for( int j = 0; j < i; ++j ){
				if( Gcd( num[ i ], num[ j ] ) == 1 ){
						ans++;
				}
			}
		}
		double temp = 2.0 * ans / n / ( n - 1 );
		if( ans ){
			printf( "%.6lf\n", sqrt( 6.0 / temp ) );
		}
		else{
			puts( "No estimate for this data set." );
		}
	}
return 0;
}


Pi

上一篇:HRBUST 2024 Strange fuction || HDU 2899 Strange fuction


下一篇:11、只允许在主目录下上传和下载文件,不允许用putty登录