首页 > 解方程
头像 小鸣壹号
发表于 2020-05-18 09:24:11
用牛顿迭代法令f(x)=x^a+blnx-c可以求出xn+1 = xn - f( xn ) / f'( xn )然后只要令初始x为一个大于0的数就行 #include<stdio.h> #include<math.h> int main(){ int a,b,c; 展开全文
头像 Emcikem
发表于 2020-05-18 09:52:47
二分模板题定义: 函数一个单调递增函数,那么直接二分考虑到有可能没有解,那就用第二种二分解法,for循环 二分左区间为l,右区间为r然后当时,太小了,l = mid否则太大了,r = mid 此处针对特别毒瘤的数据,加入几何的double处理 #include <iostream> #i 展开全文
头像 昨晚梦见发财了
发表于 2020-05-18 11:52:57
二分求解 因为Math.log用成了Math.log10而wa了10发。 注意一下当精度特别高的时候就跳出循环 否则会tle import java.util.*; import java.math.*; import java.io.IOExc 展开全文
头像 精神病科黄主任
发表于 2020-05-22 18:17:33
容易发现左边的那个函数一定单调递增。当x=1时候,函数质一定是1,如果x小于1,函数值一定是负数,而右边的c是大于等于1的,所以其实是一定有解的那么二分就好了。考虑到精度问题。所以可以考虑限定次数来二分答案。。 #include<bits/stdc++.h> using namespac 展开全文
头像 Bernard5
发表于 2020-05-17 23:39:56
没什么可说的,记录一下写法,以及long double这种精度 引用自兰子大佬 很容易发现左边是一个单调增的函数,所以二分求解即可。值得注意的是如果用double可能出现tle的情况(实测double精度有问题,导致后面无限不动)。解决方法有两种,一种是换long double,另外一种是进行足够 展开全文