注:

  1. 对于double计算,一定要小心,必要时把与double计算相关的所有都变成double型。

  2. for (int i = 0; i < N; i++)         //N 不可写为N - 1,否则当N为1时无法进行;

原题:

1100.   Pi


Time Limit: 1.0 Seconds   Memory Limit: 65536K
Total Runs: 5683   Accepted Runs: 2317

Professor Robert A. J. Matthews of the Applied Mathematics and
Computer Science Department at the University of Aston in Birmingham, England
has recently described how the positions of stars across the night sky may be
used to deduce a surprisingly accurate value of π. This result followed from the
application of certain theorems in number theory.

Here, we don't have the night sky, but can use the same theoretical basis to
form an estimate for π:

Given any pair of whole numbers chosen from a large, random collection of
numbers, the probability that the two numbers have no common factor other than
one (1) is

For example, using the small collection of numbers: 2, 3, 4, 5, 6;
there are 10 pairs that can be formed: (2,3), (2,4), etc. Six of the 10 pairs:
(2,3), (2,5), (3,4), (3,5), (4,5) and (5,6) have no common factor other than
one. Using the ratio of the counts as the probability we have:

In this problem, you'll receive a series of data sets. Each data set contains
a set of pseudo-random positive integers. For each data set, find the portion of
the pairs which may be formed that have no common factor other than one (1), and
use the method illustrated above to obtain an estimate for π. Report this
estimate for each data set.

Input

The input consists of a series of data sets.

The first line of each data set contains a positive integer value, N, greater
than one (1) and less than 50.

There is one positive integer per line for the next N lines that constitute
the set for which the pairs are to be examined. These integers are each greater
than 0 and less than 32768.

Each integer of the input stream has its first digit as the first character
on the input line.

The set size designator, N, will be zero to indicate the end of data.

Output

A line with a single real value is to be emitted for
each input data set encountered. This value is the estimate for π for the data
set. An output format like the sample below should be used. Answers must be
rounded to six digits after the decimal point.

For some data sets, it may be impossible to estimate a value for π. This
occurs when there are no pairs without common factors. In these cases,
emit the single-line message:

No estimate for this data set.

exactly, starting with the first character, "N", as the first character on
the line.

Sample Input

5
2
3
4
5
6
2
13
39
0


Sample Output

3.162278
No estimate for this data set.

Source: East Central
North America 1995

源代码:

 #include <iostream>
#include <iomanip>
#include <cmath>
#include <stdio.h>
using namespace std; int num[]; int gcd(int a, int b) {
return b == ? a : gcd(b, a % b);
} int main()
{
int N;
while (cin >> N && N != ) {
int count = ; double sum = ;
for (int i = ; i < N; i++) cin >> num[i];
for (int i = ; i < N; i++) //N 不可写为N - 1,否则当N为1时无法进行;
for (int j = i + ; j < N; j++) {
int m = num[i], n = num[j];
if (gcd(m, n) == )
{
count++;
}
}
sum = N * (N - ) / ;
if (count != ) {
double res = sqrt( * sum / count);
printf("%.6f\n",res);
//cout << fixed << setprecision(6) << res << endl;
}
else cout << "No estimate for this data set." << endl;
}
return ;
}

TJU Problem 1100 Pi的更多相关文章

  1. TJU Problem 2101 Bullseye

    注意代码中: result1 << " to " << result2 << ", PLAYER 1 WINS."<& ...

  2. TJU Problem 2548 Celebrity jeopardy

    下次不要被长题目吓到,其实不一定难. 先看输入输出,再揣测题意. 原文: 2548.   Celebrity jeopardy Time Limit: 1.0 Seconds   Memory Lim ...

  3. TJU Problem 2857 Digit Sorting

    原题: 2857.   Digit Sorting Time Limit: 1.0 Seconds   Memory Limit: 65536KTotal Runs: 3234   Accepted ...

  4. TJU Problem 1015 Gridland

    最重要的是找规律. 下面是引用 http://blog.sina.com.cn/s/blog_4dc813b20100snyv.html 的讲解: 做这题时,千万不要被那个图给吓着了,其实这题就是道简 ...

  5. TJU Problem 1065 Factorial

    注意数据范围,十位数以上就可以考虑long long 了,断点调试也十分重要. 原题: 1065.   Factorial Time Limit: 1.0 Seconds   Memory Limit ...

  6. TJU Problem 2520 Quicksum

    注意: for (int i = 1; i <= aaa.length(); i++) 其中是“ i <= ",注意等号. 原题: 2520.   Quicksum Time L ...

  7. TJU Problem 1090 City hall

    注:对于每一横行的数据读取,一定小心不要用int型,而应该是char型或string型. 原题: 1090.   City hall Time Limit: 1.0 Seconds   Memory ...

  8. TJU Problem 1644 Reverse Text

    注意: int N; cin >> N; cin.ignore(); 同于 int N; scanf("%d\n",&N); 另:关于 cin 与 scanf: ...

  9. Light oj 1100 - Again Array Queries (鸽巢原理+暴力)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1100 给你n个数,数的范围是1~1000,给你q个询问,每个询问问你l到r之间 ...

随机推荐

  1. Qt5_自定义处理Windows消息函数

    ZC:(1).“#include <QAbstractNativeEventFilter>”,(2).貌似 返回True(意思是 处理过了) 返回False(意思是还需要继续处理) 1.参 ...

  2. Qt5.3.2_CentOS6.4_x86_编程调试环境【勿删,简洁】

    ZC:使用的虚拟机环境是:博客园VMwareSkill 的 “CentOS6.4x86EngCustomize120g__20160307.rar” 1. For Qt5.3.2: 基本需要的 软件包 ...

  3. MySQL数据库性能优化

    mysql查询优化: 1.新增字段索引,查询时若使用到or关键字,则两个字段都需建立索引才能生效 2.sql语句包含子查询,mysql会创建临时表查询结束后删除,影响效率,所以应尽可能使用join替代 ...

  4. Spring AMQP 源码分析 07 - MessageListenerAdapter

    ### 准备 ## 目标 了解 Spring AMQP 如何用 POJO 处理消息 ## 前置知识 <Spring AMQP 源码分析 04 - MessageListener> ## 相 ...

  5. Codeforces 496D - Tennis Game

    496D - Tennis Game 思路:枚举每个t,求出对应的满足条件的s. 代码: #include<bits/stdc++.h> using namespace std; #def ...

  6. Codeforces 447D - DZY Loves Modification

    447D - DZY Loves Modification 思路:将行和列分开考虑.用优先队列,计算出行操作i次的幸福值r[i],再计算出列操作i次的幸福值c[i].然后将行取i次操作和列取k-i次操 ...

  7. XML和Schema

    2017-11-03 19:33:56 XML:Extensible Markup Language,也就是可扩展标记语言.XML工具使处理和转化信息变得十分容易和方便. XML和HTML格式是古老的 ...

  8. illumina phix

    PhiX Control v3 is a reliable, adapter-ligated library used as a control for Illumina sequencing run ...

  9. Elections CodeForces - 1020C (贪心)

    大意: 有n个选民, m个党派, 第i个选民初始投$p_i$一票, 可以花费$c_i$改变投票, 求最少花费使得第一个党派的票数严格最大 假设最终第一个党派得票数$x$, 枚举$x$, 则对于所有票数 ...

  10. 名称随id的变化而变化

    $("#user_id").change(function () { var uid = $(this).val(); if (uid == '') { $("#user ...