Go语言入门150题 L1-067 洛希极限 (10 分) Go语言 | Golang
Posted 小生凡一
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言入门150题 L1-067 洛希极限 (10 分) Go语言 | Golang相关的知识,希望对你有一定的参考价值。
【题解】【PTA团体程序设计天梯赛】
L1-067 洛希极限 (10 分)Go语言|Golang
洛希极限(Roche limit)是一个天体自身的引力与第二个天体造成的潮汐力相等时的距离。当两个天体的距离少于洛希极限,天体就会倾向碎散,继而成为第二个天体的环。它以首位计算这个极限的人爱德华·洛希命名。(摘自百度百科)
大天体密度与小天体的密度的比值开 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:
0.622 0 1.4
结尾无空行
输出样例1:
1.53 T_T
结尾无空行
输入样例2:
0.622 1 1.4
结尾无空行
输出样例2:
0.78 ^_^
结尾无空行
思路:
题目很长,但是重要的只有那几句,只要把刚体
和流体
弄清楚就行了!就是判断是否流体和刚体!
如果是刚体就用半径比*1.16
,如果是流体就用*2.445
。
代码如下:
package main
import "fmt"
func main() {
var a,b,c float64
_,_=fmt.Scan(&a,&b,&c)
if int(b) == 0 {
tmp := a*2.455
if tmp > c {
fmt.Printf("%.2f T_T",tmp)
}else{
fmt.Printf("%.2f ^_^",tmp)
}
}else{
tmp := a*1.26
if tmp > c {
fmt.Printf("%.2f T_T",tmp)
}else{
fmt.Printf("%.2f ^_^",tmp)
}
}
}
以上是关于Go语言入门150题 L1-067 洛希极限 (10 分) Go语言 | Golang的主要内容,如果未能解决你的问题,请参考以下文章
Go语言入门150题 L1-068 调和平均 (10 分) Go语言 | Golang
Go语言入门150题 L1-053 电子汪 (10 分) Go语言|Golang
Go语言入门150题 L1-057 PTA使我精神焕发 (5 分) Go语言 | Golang
Go语言入门150题L1-069 胎压监测 (15 分) Go语言 | Golang