hdu 1071 The area【定积分】

本文介绍了一种通过将顶点式二次函数转换为标准形式并进行积分的方法,以解决特定数学问题。通过给定的三个点确定二次函数的具体参数,并实现了一个C++程序来计算两个指定区间内的积分值。

用顶点式\( a(x-h)^2+k=y \)解方程,转化为\(ax^2+bx+c=y \)的形式,然后对二次函数求定积分\( \frac{ax^3}{3}+\frac{bx^2}{2}+cx+C \)即可。(其实我不知道那个C是干什么用的反正这里不用加。

#include<iostream>
#include<cstdio>
using namespace std;
int T;
double x1,x2,x3,y1,y2,y3,a,b,c,h,k;
double f(double x)
{
    return a*x*x*x/3+c*x+x*a*h*h-a*h*x*x-(k*x*x/2+b*x);
}
int main()
{
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
        a=(y2-y1)/(x2-x1)/(x2-x1);
        c=y1;
        h=x1;
        k=(y3-y2)/(x3-x2);
        b=y2-k*x2;
        printf("%.2lf\n",f(x3)-f(x2));
    }
    return 0;
}

转载于:https://www.cnblogs.com/lokiii/p/8452221.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值