【Go语言入门100题】067 洛希极限 (10 分) Go语言 | Golang

简介: L1-067 洛希极限 (10 分)Go语言|Golang洛希极限(Roche limit)是一个天体自身的引力与第二个天体造成的潮汐力相等时的距离。当两个天体的距离少于洛希极限,天体就会倾向碎散,继而成为第二个天体的环。它以首位计算这个极限的人爱德华·洛希命名。(摘自百度百科)大天体密度与小天体的密度的比值开 3 次方后,再乘以大天体的半径以及一个倍数(流体对应的倍数是 2.455,刚体对应的倍数是 1.26),就是洛希极限的值。例如木星与地球的密度比值开 3 次方是 0.622,如果假设地球是流体,那么洛希极限就是0.622×2.455=1.52701倍木星半径;但地球是刚体,对

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)
    }
  }
}


相关文章
|
1月前
|
Go
golang语言之go常用命令
这篇文章列出了常用的Go语言命令,如`go run`、`go install`、`go build`、`go help`、`go get`、`go mod`、`go test`、`go tool`、`go vet`、`go fmt`、`go doc`、`go version`和`go env`,以及它们的基本用法和功能。
32 6
|
1月前
|
存储 Go
Golang语言基于go module方式管理包(package)
这篇文章详细介绍了Golang语言中基于go module方式管理包(package)的方法,包括Go Modules的发展历史、go module的介绍、常用命令和操作步骤,并通过代码示例展示了如何初始化项目、引入第三方包、组织代码结构以及运行测试。
36 3
|
2月前
|
Go 开发者
|
2月前
|
Go 开发者
|
2月前
|
Unix Go
Go从入门到放弃之时间操作
Go从入门到放弃之时间操作
|
2月前
|
机器学习/深度学习 移动开发 Linux
Go从入门到放弃之文件操作
Go从入门到放弃之文件操作
|
2月前
|
Java Go PHP
Go从入门到放弃之错误处理
Go从入门到放弃之错误处理
|
1月前
|
Go
Golang语言之管道channel快速入门篇
这篇文章是关于Go语言中管道(channel)的快速入门教程,涵盖了管道的基本使用、有缓冲和无缓冲管道的区别、管道的关闭、遍历、协程和管道的协同工作、单向通道的使用以及select多路复用的详细案例和解释。
56 4
Golang语言之管道channel快速入门篇
|
1月前
|
Go
Golang语言文件操作快速入门篇
这篇文章是关于Go语言文件操作快速入门的教程,涵盖了文件的读取、写入、复制操作以及使用标准库中的ioutil、bufio、os等包进行文件操作的详细案例。
50 4
Golang语言文件操作快速入门篇
|
1月前
|
Go
Golang语言之gRPC程序设计示例
这篇文章是关于Golang语言使用gRPC进行程序设计的详细教程,涵盖了RPC协议的介绍、gRPC环境的搭建、Protocol Buffers的使用、gRPC服务的编写和通信示例。
63 3
Golang语言之gRPC程序设计示例