在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 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
题解如下:
20/20
这题读懂题意就很简单了,每一行都是一个复数的实部与虚部,复数的模是实部与虚部的平方和的开方,而我们要求的谱半径就是这些模的最大值
/**
* 2024/04/16
* 20/20
*/
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let num = 0;
let rows = [];
rl.on("line", function (data) {
if (num === 0) {
num = Number(data);
} else {
rows.push(data.split(" "));
if (rows.length === num) {
console.log(deal());
}
}
});
function deal() {
let max = 0;
rows.forEach((el) => {
let res = Math.sqrt(el[0] * el[0] + el[1] * el[1]);
if (res > max) {
max = res;
}
});
return max.toFixed(2);
}