欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

2016蘑菇街编程题:搬圆桌

发布时间:2023/12/20 编程问答 65 豆豆
生活随笔 收集整理的这篇文章主要介绍了 2016蘑菇街编程题:搬圆桌 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目描述

现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。
输入描述:
一行五个整数r,x,y,x1,y1(1≤r≤100000,-100000≤x,y,x1,y1≤100000)
输出描述:
输出一个整数,表示答案
输入例子:
2 0 0 0 4
输出例子:
1
解题
每次移动的返回是(0,2r]
然后感觉这就是两个圆心距离除以2r 向上取整,然后看讨论就是这样写的
import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner cin = new Scanner(System.in);while (cin.hasNextInt()) {int r = cin.nextInt();if (r < 1 || r > 100000) {System.exit(0);}int x = cin.nextInt();int y = cin.nextInt();int x1 = cin.nextInt();int y1 = cin.nextInt();if (x < -100000 || x > 100000) {continue;}if (y < -100000 || y > 100000) {continue;}if (x1 < -100000 || x1 > 100000) {continue;}if (y1 < -100000 || y1 > 100000) {continue;}double length = Math.sqrt(Math.pow(x - x1, 2) + Math.pow(y - y1, 2));int count;//向上取整之后强转为int型即可count = (int) Math.ceil(length / (2 * r));System.out.println(count);}} }

 



总结

以上是生活随笔为你收集整理的2016蘑菇街编程题:搬圆桌的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。