【数学】【CodeForces】794 B Cutting Carrot

【题目】http://codeforces.com/problemset/problem/794/B

【题意】给出一个等腰三角形,要用平行于底边的线将其分成n块,要求每块面积相同,给出地边上的高h,底边长为1,问每条线到顶点的距离

【思路】只要算出面积是\frac{1}{n}S\frac{2}{n}S\frac{3}{n}S\frac{n-1}{n}S的三角形的高就是答案了。

当前三角形面积占总三角形面积比例:p=\frac{now}{n};

两三角形之间面积关系:                      p*S={S}';

大三角形面积:                                   S=\frac{1*h}{2};

小三角形面积:                                   {S}'=\frac{​{d}'*{h}'}{2}

小三角形与大三角形相似:                  \frac{​{d}'}{​{h}'}=\frac{1}{h}

联立,得                                               {d}'=h*\sqrt{\frac{now}{n}}

只要将now从1遍历到n-1即可。

【代码】

#include<bits/stdc++.h>
#define fuck(x) std::cout<<"["<<#x<<"->"<<x<<"]"<<endl;
using namespace std;
typedef long long ll;

const int M=2e5+5;
const int inf=1e9+5;


int main()
{
    double n,h;
    cin>>n>>h;
    int now=1;
    while(now<n)
    {
        printf("%.8f ",h*sqrt(((double)now)/n));
        now++;
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值