【物理分析】2017.3.1杂题[逃离]题解

题目概述

有个正n边形,边长为a,所有端点都向着顺时针方向的下一个端点按速度v移动,求所有点到达中心点的时间。

解题报告

ps:这是一道物理题,物理题,物理题!所以说大家还是要学好物理的。
通过yy可以发现,不管怎么移动,图形都是正n边形,所以我们只需要直接分析初始状态即可,后面都同理:
这里写图片描述
把速度v分解为v1和v2,显然只有v1是向中心点前进的,v2没用,所以答案就是初始点到中心点的距离dis/v1!现在的问题是如何求dis和v1,其实很简单,首先先看dis:
这里写图片描述
把中心点向所有端点连线,就可以得到n个三角形,取任何一个三角形分析即可。

α=2*π/n/2(圆心角分成n份之后/2)
然后就可以得到dis=a/2/cos(α)。

之后开始求v1:
这里写图片描述
v1=v*cos(θ),而θ很容易求出:正n边形的角度为(n-2)π,而正n边形θ有2*n个(也就是说2*nθ=(n-2)* π),所以θ=(n-2)*π/(2*n)。

最后dis/v1就是答案。

时间复杂度:O(1)
期望得分:100分

示例程序

#include<cstdio>
#include<cmath>
using namespace std;
const double PI=acos(-1);

double n,a,v,Ag,dis,V;

int main()
{
    freopen("escape.in","r",stdin);
    freopen("escape.out","w",stdout);
    scanf("%lf%lf%lf",&n,&a,&v);
    dis=a/2/sin(2*PI/n/2);
    Ag=(n-2)*PI/n/2;
    V=v*cos(Ag);
    printf("%.5lf\n",dis/V);
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值