1. 程式人生 > >PAT Basic 1063

PAT Basic 1063

但是 輸出格式 基本 復數 pri ace 整數 題解 mat

1063 計算譜半徑

在數學中,矩陣的“譜半徑”是指其特征值的模集合的上確界。換言之,對於給定的 n 個復數空間的特征值 { a?1??+b?1??i,?,a?n??+b?n??i },它們的模為實部與虛部的平方和的開方,而“譜半徑”就是最大模。

現在給定一些復數空間的特征值,請你計算並輸出這些特征值的譜半徑。

輸入格式:

輸入第一行給出正整數 N(≤ 10 000)是輸入的特征值的個數。隨後 N 行,每行給出 1 個特征值的實部和虛部,其間以空格分隔。註意:題目保證實部和虛部均為絕對值不超過 1000 的整數。

輸出格式:

在一行中輸出譜半徑,四舍五入保留小數點後 2 位。

輸入樣例:

5
0 1
2 0
-1 0
3 3
0 -3

輸出樣例:

4.24
  題解:這道題雖然是20分,但是真心好做,看懂題基本就出來了。

代碼如下:
 1 #include<iostream>
 2 #include<cmath>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int n;
 9     double p, q, max = 0;
10     cin>>n;
11     while( n--){
12         cin>>p;
13         cin>>q;
14         if( p*p + q*q > max)
15 max = p*p + q*q; 16 } 17 printf("%.2lf",sqrt(max)); 18 return 0; 19 }


PAT Basic 1063