[编程题-蘑菇街]搬圆桌

[编程题] 搬圆桌
现在有一张半径为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
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
    long r,x,y,x1,y1;
    while(cin>>r>>x>>y>>x1>>y1)
    {
        long a=(x-x1)*(x-x1)+(y-y1)*(y-y1);
        long b=4*r*r;
        
        long step=sqrt(a/b)+((a%b>0)?1:0);
        cout<<step<<endl;
    }
}
原文地址:https://www.cnblogs.com/learning-c/p/5742783.html