L1-067 洛希极限
Statement
Metadata
- 作者: 陈越
- 单位: 浙江大学
- 代码长度限制: 16 KB
- 时间限制: 400 ms
- 内存限制: 64 MB
科幻电影《流浪地球》中一个重要的情节是地球距离木星太近时,大气开始被木星吸走,而随着不断接近地木“刚体洛希极限”,地球面临被彻底撕碎的危险。但实际上,这个计算是错误的。
洛希极限(Roche limit)是一个天体自身的引力与第二个天体造成的潮汐力相等时的距离。当两个天体的距离少于洛希极限,天体就会倾向碎散,继而成为第二个天体的环。它以首位计算这个极限的人爱德华·洛希命名。(摘自百度百科)
大天体密度与小天体的密度的比值开 3 次方后,再乘以大天体的半径以及一个倍数(流体对应的倍数是 2.455,刚体对应的倍数是 1.26),就是洛希极限的值。例如木星与地球的密度比值开 3 次方是 0.622,如果假设地球是流体,那么洛希极限就是
本题就请你判断一个小天体会不会被一个大天体撕碎。
输入格式
输入在一行中给出 3 个数字,依次为:大天体密度与小天体的密度的比值开 3 次方后计算出的值(
输出格式
在一行中首先输出小天体的洛希极限与大天体半径的比值(输出小数点后2位);随后空一格;最后输出 ^_^
如果小天体不会被撕碎,否则输出 T_T
。
输入样例 1
输出样例 1
输入样例 2
输出样例 2
Solution
#include <bits/stdc++.h>
using namespace std;
using db = double;
const int N = 1e3 + 10;
int main() {
db a, c, d;
int b;
cin >> a >> b >> c;
if (!b)
d = a * 2.455;
else
d = a * 1.26;
printf("%.2f ", d);
int _d = round(d * 100);
int _c = round(c * 100);
if (_c < _d)
puts("T_T");
else
puts("^_^");
return 0;
}
Last update: May 4, 2022