从逻辑来看本身没错,在取第三组数时(a*r+b),(a*l+b)为负值,负数再log一下是虚数(复数).
所以你的库能自动处理这情况么?或者你需要自己重新搞个算法.
不是大佬,帮不了你.
请问这个的值是多少?
我需要写一个程序计算这个
我怀疑我积错了
这个程序在大部分情况都可以正常工作,但有时候会出错
#include<bits stdc++.h> using namespace std; int main() { long double a,b,c,d,l,r; //scanf("%0.9f %0.9f %0.9f %0.9f %0.9f %0.9f",&a,&b,&c,&d,&r,&l); scanf ("%10Lf %10Lf %10Lf %10Lf %10Lf %10Lf",&a,&b,&c,&d,&r,&l); // printf("%.10f %.10f %.10f %.10f %.10f %.10f",a,b,c,d,r,l); long double R=c/a*(a*r+b)+(d-b*c/a)*log(a*r+b); long double L=c/a*(a*l+b)+(d-b*c/a)*log(a*l+b); printf("%.6Lf\n",(L-R)/a); return 0; }</bits>
比如输入0.1 1 1 1 -1 0的时候是对的
输入0.3 -4 -4 0 14 34时也是对的
但输入-2 3.8 2.5 -9 2 3时就错了
所以应该积错了
大佬帮我积下吧
[修改于 5年2个月前 - 2019/10/18 15:59:36]
从逻辑来看本身没错,在取第三组数时(a*r+b),(a*l+b)为负值,负数再log一下是虚数(复数).
所以你的库能自动处理这情况么?或者你需要自己重新搞个算法.
不是大佬,帮不了你.
高中常见的反比例函数平移模型/常数函数
如果是常数,直接秒,return
计算出x方向偏移量,将R和L相对偏移,得到k/x+b形式,如果范围内有复数,单独减掉。其余套公式就A了。
引用hello1world发表于1楼的内容从逻辑来看本身没错,在取第三组数时(a*r+b),(a*l+b)为负值,负数再log一下是虚数(复数...
是的,是这个问题,谢谢了
引用hello1world发表于1楼的内容从逻辑来看本身没错,在取第三组数时(a*r+b),(a*l+b)为负值,负数再log一下是虚数(复数...
这个特判一下就行了吧,我去试试
这个特判一下就行了吧,我去试试
没明白你的意思,如果可以的话希望能把最后成功的程序帖出来看看.
第三组数据2-3区间是有积分结果的,约为3.8455274546965374
前面那个UIC回复我也没看明白,现在高中就有这样的题了么,从函数图形来看类似双曲线旋转加平移的图形.
写成c*((r - l))/a + (a*d - b*c)/a^2*log((a*r + b)/(a*l + b))
仔细想想好象也确实没什么,可以自己判断一下自己写个log负数的功能,而且对于这个函数来看可以象上面radio的那样写成(a*r + b)/(a*l + b),如果(a*r + b)/(a*l + b)为负说明不存在结果(开区间),至少对于这个积分来说是这样.
引用hello1world发表于5楼的内容没明白你的意思,如果可以的话希望能把最后成功的程序帖出来看看.第三组数据2-3区间是有积分结果的,约...
可是按照我积出来的式子来看确实会出现负数的对数的情况,你是怎么积的?
引用hello1world发表于7楼的内容仔细想想好象也确实没什么,可以自己判断一下自己写个log负数的功能,而且对于这个函数来看可以象上面r...
问题是这个积分存在结果
#include<bits stdc++.h> using namespace std; int main() { double a,b,c,d,l,r,R,L; scanf("%lf%lf%lf%lf%lf%lf", &a, &b, &c, &d, &l, &r); if(a!=0) {R=c*r/a+(d/a-b*c/(a*a))*log(fabs(a*r+b)); L=c*l/a+(d/a-b*c/(a*a))*log(fabs(a*l+b));} else {R=((c*r*r)/(2*b)+(d*r)/b); L=((c*l*l)/(2*b)+(d*l)/b); } // cout<<(a*r+b)<<" "<<(a*l+b); printf("%.6lf\n",(r-l)); return 0; }< pre></(a*r+b)<<" "<<(a*l+b);></bits>
引用hello1world发表于5楼的内容没明白你的意思,如果可以的话希望能把最后成功的程序帖出来看看.第三组数据2-3区间是有积分结果的,约...
反比例函数(k/x)的学习从初中开始,在高中进行了平移变换。和双曲线转1/4pi是一样的
此外,高中连极限也不学,就学导数了。。。积分原理类似,但不学。在各大竞赛有所涉及。
此外,高中连极限也不学,就学导数了。。。积分原理类似,但不学。在各大竞赛有所涉及。
这确实是和k/x一样,当初好象不那么重视这个,不大记得了,好象当初高中讲极限,和行列式(矩阵)运算但不讲导数和积分当然那时也没什么竞赛.
基本就这样了,不过a!=0时要判断一下a*r+b!=0,a*l+b!=0,并且a*r+b和a*l+b符号相同(都是正数或都是负数),此时存在积分结果.然后进行下面的计算.
引用hello1world发表于15楼的内容这确实是和k/x一样,当初好象不那么重视这个,不大记得了,好象当初高中讲极限,和行列式(矩阵)运算但...
我是搞信竞的,要学这个
我浙江的。。这儿都贼高,平均都有68
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。