注:

  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. Mysql-SqlServer区别

    /* sql规范 所有关键字大写 表面跟字段跟数据库对应 一条sql语句结束必须跟;号 */ /*关键字处理*/ --sqlserver SELECT * FROM [Date]; --mysql S ...

  2. RabbitMQ入门_04_Exchange & Binding

    如果你比较细心,你会发现 HelloWorld 例子中的 Sender 只申明了一个 hello 队列,然后就开始向默认 Exchange 发送路由键为 hello 的消息.按照之前 AMQP 基本概 ...

  3. HDU 6015 Skip the Class

    Skip the Class 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define l ...

  4. Shell脚本的学习(一)

    Shell脚本的学习(一) 一)代码式shell脚本简介 1.下载 Xshell 5 建一个文件夹 mkdri home/data ; 1)查看一个在data里建一个1.sh 查看是否建立成功. 2) ...

  5. Splunk Enterprise architecture——转发器本质上是日志收集client附加负载均衡,indexer是分布式索引,外加一个集中式管理协调的中心节点

    Splunk Enterprise architecture and processes This topic discusses the internal architecture and proc ...

  6. flex布局学习总结

    最近项目主要是小程序,小程序里面的布局主要采用flex布局,之前对flex 布局只是稍作了解,总结下flex 布局的常用套路 容器 Flex是Flexible Box的缩写,意为"弹性布局& ...

  7. JVM笔记(三) 垃圾收集器(2)收集算法

    垃圾收集器2:收集算法 主要通过阅读<深入了解Java虚拟机>(周志明 著)和网络资源汇集而成,为本人学习JVM的笔记.同时,本文理论基于JDK 1.7版本,暂不考虑 1.8和1.9 的新 ...

  8. forget word a out 1

      a 1★ a 不,非,无;在~ 的   2★ ab 相反,变坏,离去     3★ abs 相反,变坏,离去      

  9. PHP:第一章——PHP中常量和预定义常量

    <?php /*****************************************************/ //1.常量的定义 //常量:声明一次后长期不变的量,以字母或下划线开 ...

  10. 随机产生div背景颜色变化

    使一个DIV在每次刷新后变化背景颜色,很容易想到JS的random()函数:通过每次刷新页面产生使背景rgb随机产生 <!doctype html> <html> <he ...