Pintia题解——7-14 洛希极限

7-14 洛希极限

.

原题:

大天体密度与小天体的密度的比值开 3 次方后,再乘以大天体的半径以及一个倍数(流体对应的倍数是 2.455,刚体对应的倍数是 1.26),就是洛希极限的值。例如木星与地球的密度比值开 3 次方是 0.622,如果假设地球是流体,那么洛希极限就是 0.622×2.455=1.52701 倍木星半径;但地球是刚体,对应的洛希极限是 0.622×1.26=0.78372 倍木星半径,这个距离比木星半径小,即只有当地球位于木星内部的时候才会被撕碎,换言之,就是地球不可能被撕碎。
本题就请你判断一个小天体会不会被一个大天体撕碎。

输入格式:

输入在一行中给出 3 个数字,依次为:大天体密度与小天体的密度的比值开 3 次方后计算出的值(≤1)、小天体的属性(0 表示流体、1 表示刚体)、两个天体的距离与大天体半径的比值(>1 但不超过 10)。

输出格式:

在一行中首先输出小天体的洛希极限与大天体半径的比值(输出小数点后2位);随后空一格;最后输出 ^_^ 如果小天体不会被撕碎,否则输出 T_T

.

解题思路:

  1. 根据题目给出关键信息:

    • 洛溪极限 = 两个天体密度比值 x 天体的体型 x 天体半径

    • 是否被撕碎:洛希极限 < 两个天体距离与大天体半径比值 则不会被撕碎,反之。

  2. 已知的数据:

    • 两个天体密度比值
    • 天体的体型
    • 两个天体距离与大天体半径比值
  3. 解题顺序

    • 首先计算出洛溪极限 : 两个天体密度比值 x 天体的体型 (保留2位小数)。
    • 判断是否被撕碎 :用计算出来的洛希极限与两个天体距离与大天体半径比值作比较,
      洛希极限 < 两个天体距离与大天体半径比值 ,则输出 ^_^
      洛希极限 > 两个天体距离与大天体半径比值 ,则输出 T_T
    • 根据输出格式编写对应答案:洛希极限 ^_^/T_T

.

JavaScript(node)代码:

const r = require("readline");
const rl = r.createInterface({
    
    
    input: process.stdin,
    output: process.stdout
});

rl.question('', (input) => {
    
    
	//a:两个天体密度比值
	//b:天体的体型
	//c:两个天体距离与大天体半径比值 
    const [a,b,c] = input.split(' ').map(Number);
    //洛希极限
    let res1=0;
    res1 = b == 0 ? a * 2.455 : a * 1.26;
    //是否撕碎
    let res2 ="";
    res2 = res1 > c ? "T_T" : "^_^";
    //输出指定格式
    console.log(`${
      
      res1.toFixed(2)} ${
      
      res2}`);
    //关闭接口
    rl.close();
});

.

复杂度分析:

  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

猜你喜欢

转载自blog.csdn.net/Mredust/article/details/132707746
今日推荐