博客
关于我
1063 计算谱半径 (20 分)
阅读量:568 次
发布时间:2019-03-09

本文共 890 字,大约阅读时间需要 2 分钟。

1063 计算谱半径

为了解决这个问题,我们需要计算给定点集的谱半径。谱半径是所有点到原点的距离中的最大值。通过对给定的点坐标进行计算,我们可以找到这个最大距离,然后取其平方根作为最终结果。

### 输入样例 我们需要输入多组点的坐标,计算每组点的平方距离,然后找到最大的平方距离,其开平方即为谱半径。输入样例如下:

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

### 输出样例 经过计算,可以得到最大谱半径为:

4.24

解题思路

  • 输入处理:读取输入数据,初始化最大值变量。
  • 数据处理:对每组点坐标计算其平方距离。
  • 比较与更新:如果当前计算的平方距离大于已记录的最大值,则更新最大值。
  • 结果输出:计算并输出最大谱半径。
  • 代码实现

    #include 
    #include
    using namespace std; int main() { int N, a, b, Max; // 从标准输入读取数据 cin >> N; cin >> a >> b; Max = a*a + b*b; // 已经读取了第一组数据,剩下的进行处理 while (--N) { cin >> a >> b; int Tmp = a*a + b*b; if (Tmp > Max) Max = Tmp; } // 计算并输出谱半径 sqrt(Max); return 0; }

    代码解释

    • 读取输入:首先读取点的数量N,然后读取每组点的坐标。
    • 初始化最大值:将第一组点的平方距离赋值给Max
    • 循环处理:从N-1开始循环,读取每组点的坐标,计算其平方距离,并与当前最大值比较,更新最大值。
    • 输出结果:打印最大谱半径,计算并显示其开平方后的值。

    通过以上步骤,我们可以轻松地计算出给定点的谱半径。这个方法简单直接,适合处理点集的谱半径问题。

    转载地址:http://zeipz.baihongyu.com/

    你可能感兴趣的文章
    Oracle中merge into的使用
    查看>>
    oracle中sql查询上月、本月、上周、本周、昨天、今天的数据!
    查看>>
    oracle中sql的case语句运用--根据不同条件去排序!
    查看>>
    Oracle中Transate函数的使用
    查看>>
    oracle中关于日期问题的汇总!
    查看>>
    Oracle中常用的语句
    查看>>
    oracle中新建用户和赋予权限
    查看>>
    Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
    查看>>
    Oracle中的rownum 和rowid的用法和区别
    查看>>
    oracle中的大小写、字符、dual、数字、处理、日期、函数、显/隐式、时间、条件表达式case、decode、to_date、to_char、sysdate
    查看>>
    oracle典型安装失败,安装oracle 10失败
    查看>>
    Oracle分析函数之LEAD和LAG
    查看>>
    Oracle和SQL server的数据类型比较
    查看>>
    Oracle用游标删除重复数据
    查看>>
    Oracle监听配置、数据库实例配置等
    查看>>
    oracle系统 介绍,ORACLE数据库管理系统介绍
    查看>>
    oracle获取数据库表、字段、注释、约束等
    查看>>
    Oracle计划将ZGC项目提交给OpenJDK
    查看>>
    Oracle闪回技术(Flashback)
    查看>>
    oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
    查看>>