2016蘑菇街编程题:搬圆桌
生活随笔
收集整理的這篇文章主要介紹了
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蘑菇街编程题:搬圆桌的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个前端的职业轨迹
- 下一篇: java 的HashMap底层数据结构