PAT 乙级 1063 计算谱半径(20) C++版

1063. 计算谱半径(20)

时间限制
200 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的n个复数空间的特征值{a1+b1i, ..., an+bni},它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。

现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。

输入格式:

输入第一行给出正整数N(<= 10000)是输入的特征值的个数。随后N行,每行给出1个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过1000的整数。

输出格式:

在一行中输出谱半径,四舍五入保留小数点后2位。

输入样例:
5
0 1
2 0
-1 0
3 3
0 -3
输出样例:
4.24

 

该题只是要求左边的数和右边的数平方和最大的以两位小数形式输出

注意点:两位小数输出;使用cout<<fixed<<setprecision(2)

    cout<<precision(2)为两位数,包括整数位和小数位

 1 // 1063.cpp : 定义控制台应用程序的入口点。
 2 //
 3 
 4 #include "stdafx.h"
 5 #include<iostream>
 6 #include<iomanip>
 7 #include<cmath>
 8 #include<set>
 9 
10 using namespace std;
11 
12 class plural
13 {
14 public:
15     int rea;
16     int vir;
17 };
18 
19 int main()
20 {
21     int N;
22     set<double> s;
23 
24     cin >> N;
25 
26     plural *p = new plural[N];
27 
28     for (int i = 0; i < N; i++)
29     {
30         cin >> p->rea >> p->vir;
31 
32         s.insert(sqrt(pow(p->rea,2)+pow(p->vir,2)));
33     }
34 
35     cout <<fixed<< setprecision(2)<<*(s.rbegin())<< endl;
36 
37     delete[] p;
38 
39     return 0;
40 }

 

 

posted on 2017-07-08 15:12  么么打123  阅读(407)  评论(0编辑  收藏  举报