PATレベルB-スペクトル半径を計算します

タイトルの説明
数学では、行列の「スペクトル半径」は、その固有値のモジュールのセットの上限を指します。

言い換えると、与えられたn個の複素数空間固有値{a 1 + b 1 i、…、a n + b n i}に対して、

それらの係数は、実数部と虚数部の2乗の合計の平方根であり、「スペクトル半径」は最大係数です。

複素空間にいくつかの固有値が与えられたので、これらの固有値のスペクトル半径を計算して出力してください。

入力形式入力の
最初の行は、入力固有値の数である正の整数Nを示します。
次のN行では、各行が1つの固有値の実数部と虚数部をスペースで区切って示しています。

注:この質問は、実数部と虚数部が絶対値が1000を超えない整数であることを保証します。

出力形式
スペクトル半径を小数点以下2桁に四捨五入して1行で出力します

入力例
5
0 1
2 0
-1 0
3 3
0 -3

サンプル出力
4.24

データ範囲
N≤10000


問題解決
数学:

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;

double ans;
int n, a, b;

int main()
{
    
    
	cin >> n;
	
	while(n --)
	{
    
    
		cin >> a >> b;
		ans = max(ans, sqrt(a * a + b * b));
	}
	
	printf("%.2f", ans);
	return 0;
}

おすすめ

転載: blog.csdn.net/weixin_46239370/article/details/113850447