PAT-1063 計算譜半徑
阿新 • • 發佈:2018-11-13
1063 計算譜半徑 (20 分)
在數學中,矩陣的“譜半徑”是指其特徵值的模集合的上確界。換言之,對於給定的 n 個複數空間的特徵值 { a1+b1i,⋯,an+bni },它們的模為實部與虛部的平方和的開方,而“譜半徑”就是最大模。
現在給定一些複數空間的特徵值,請你計算並輸出這些特徵值的譜半徑。
輸入格式:
輸入第一行給出正整數 N(≤ 10 000)是輸入的特徵值的個數。隨後 N 行,每行給出 1 個特徵值的實部和虛部,其間以空格分隔。注意:題目保證實部和虛部均為絕對值不超過 1000 的整數。
輸出格式:
在一行中輸出譜半徑,四捨五入保留小數點後 2 位。
輸入樣例:
5
0 1
2 0
-1 0
3 3
0 -3
輸出樣例:
4.24
#include<iostream> #include<stdio.h> #include<cmath> #include<iomanip> using namespace std; int main() { int n; double a,b; double t,max=0.0; cin>>n; for(int i=0;i<n;i++) { cin>>a; cin>>b; t=sqrt(a*a+b*b); if(t>max) { max=t; } } //max=max+0.005; cout<<fixed<<setprecision(2)<<max<<endl;//加了fixed意味著是固定點方式顯示,所以這裡的精度指的是小數位,輸出為12.3457 return 0; }