谱半径

PAT乙级-1063. 计算谱半径(20)

和自甴很熟 提交于 2020-02-18 01:23:41
在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的n个复数空间的特征值{a 1 +b 1 i , ..., a n +b n i },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。 现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。 输入格式: 输入第一行给出正整数N(<= 10000)是输入的特征值的个数。随后N行,每行给出1个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过1000的整数。 输出格式: 在一行中输出谱半径,四舍五入保留小数点后2位。 输入样例: 5 0 1 2 0 -1 0 3 3 0 -3 输出样例: 4.24 分析:幂函数 pow(a,n);开方函数 double sqrt(double)别人家的代码 #include<iostream> #include<math.h> #include<iomanip> using namespace std; int main(){ int N; double a,b; double max=0; cin>>N; while(N--){ cin>>a>>b; double temp=sqrt(pow(a,2)+pow(b,2)); if(temp>max){ max=temp; } } //max+=0.005;//并不需要这个

PAT basic 1063 计算谱半径 (20分) C++

老子叫甜甜 提交于 2020-02-03 13:56:53
一、题目描述 在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 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 二、代码 //1063 # define _CRT_SECURE_NO_WARNINGS # include <stdlib.h> # include <cmath> # include <iostream> using namespace std ; int main ( ) { int n ; cin >> n ; double max = 0 , temp ; int a , b ; for ( int i = 0 ; i < n ; i ++ ) { cin >> a >> b ; temp = sqrt ( a * a

PAT乙级1063(C++)——龙哥哥的刷题路

我是研究僧i 提交于 2020-01-30 19:45:02
1063 计算谱半径 (20分) 在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { a​1+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 <cstdio> # include <cmath> # include <algorithm> # include <string> using namespace std ; double x [ 10005 ] ; int main ( ) { int N = 0 , a = 0 , b = 0 ; cin >> N ; for ( int i = 0 ; i < N ; i ++ ) { cin >> a >> b ; double m =

PTA 乙级——1063 计算谱半径 C++实现

倖福魔咒の 提交于 2020-01-29 08:43:45
题目 计算谱半径 在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n n n 个复数空间的特征值 { a 1 ​ ​ + b 1 ​ i , ⋯ , a n ​ ​ + b n ​ ​ i a_1​​+b_1​i,⋯,a_n​​+b_n​​i a 1 ​ ​ ​ + b 1 ​ ​ i , ⋯ , a n ​ ​ ​ + b n ​ ​ ​ i },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。 现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。 输入格式: 输入第一行给出正整数 N ( ≤ 10000 ) N(≤ 10 000) N ( ≤ 1 0 0 0 0 ) 是输入的特征值的个数。随后 N N N 行,每行给出 1 个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过 1000 的整数。 输出格式: 在一行中输出谱半径,四舍五入保留小数点后 2 位。 输入样例: 5 0 1 2 0 -1 0 3 3 0 -3 输出样例: 4.24 代码 # include <iostream> # include <iomanip> # include <math.h> using namespace std ; int main ( ) { int n ; cin >> n ; double

PAT乙级真题 1063 计算谱半径 C++实现

爱⌒轻易说出口 提交于 2020-01-14 07:48:00
题目 在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { a1+b​1i,⋯,a​n+bni },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。 现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。 输入格式: 输入第一行给出正整数 N(≤ 10 000)是输入的特征值的个数。随后 N 行,每行给出 1 个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过 1000 的整数。 输出格式: 在一行中输出谱半径,四舍五入保留小数点后 2 位。 输入样例: 5 0 1 2 0 -1 0 3 3 0 -3 输出样例: 4.24 思路 其实就是求最大平方和,最后再开方(不用每次都开方)。 开方用 cmath.h 中的 sqrt() ,最后保留2位小数即可。 代码 # include <iostream> # include <iomanip> # include <cmath> using namespace std ; int main ( ) { int n ; cin >> n ; float maxRadius = 0 ; for ( int i = 0 ; i < n ; i ++ ) { int a , b ; cin >> a >> b ; float radius = a

1063 计算谱半径 (20 分)

十年热恋 提交于 2019-11-29 00:26:48
题目: 1063 计算谱半径 (20 分) 在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { , },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。 现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。 输入格式: 输入第一行给出正整数 N( ≤ 10 000)是输入的特征值的个数。随后 N 行,每行给出 1 个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过 1000 的整数。 输出格式: 在一行中输出谱半径,四舍五入保留小数点后 2 位。 输入样例: 5 0 1 2 0 -1 0 3 3 0 -3 输出样例: 4.24 思路: 简单题,按着题目要求做就行。开根号用sqrt()函数,幂级计算用pow(底数,指数)。 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <cctype> 4 #include <iostream> 5 #include <sstream> 6 #include <cmath> 7 #include <algorithm> 8 #include <string> 9 #include <stack> 10 #include <queue> 11 #include <vector> 12