题解:UVA12853 The Pony Cart Problem

· · 题解

题目大意

给定车轮间距 D 和外轮与内轮的转数比 N(内轮转 1 圈时,外轮转 N 圈),假设内、外轮轨迹为同心圆,求外轮轨迹的周长。

思路

设内轮轨迹半径为 r,外轮轨迹半径为 R,由题意知 R=r+D

由于内轮转 1 圈时,外轮转 N 圈,且车轮自身周长固定,因此外轮轨迹周长是内轮的 N 倍(外轮转 N 圈的距离等于内轮转 1 圈的距离),即:

化简后可得 $R=N\cdot r$。 将 $R=r+D$ 代入上式:$N\cdot r=r+D

解得 r=\frac{D}{N-1}

因此,外轮轨迹周长为:

C=2\pi R=2\pi(r+D)=2\pi\left(\frac{D}{N-1}+D\right)=\frac{2\pi ND}{N-1}

code

#include <bits/stdc++.h>
using namespace std;
const double PI=acos(-1.0);//π
int main()
{
    int T;
    cin>>T;
    for(int i=1;i<=T;++i)
    {
        double D,N;
        cin>>D>>N;
        double ans=(2*PI*N*D)/(N-1);//公式
        printf("Case %d: %.3f\n",i,ans);
    }
    return 0;
}