給出n和p,求最小的正整數x使得x!>p^q
有斯特林公式n!≈√(2πn)·(n/e)^n
取個log得log(n!)≈0.5*log(2*pi)+(n+0.5)*log(n)-n
然後log(p^q)=q*log(p)
不過二分是過不去的
這個函式可以牛頓迭代,就是對於乙個x,在函式上做切線,與x軸的交點作為下一次的x
複雜度是loglogn
eps開到1e-5才能過,低了會wa,高了會tle
#include
#include
using
namespace
std;
typedef
long
long ll;
int t,p,q,b,c,d,e,f,g;
const
int mob=1004535809;
const
double pi=acos(-1);
const
double __ln_2pi=0.5*log(2*pi);
int main()
(ans*=(ll)ceil(x))%=mob;
p=(ll(p)*b+c)%d+1,q=(ll(q)*e+f)%g+1;
}cout
0;}
牛頓迭代 牛頓下山
2009 11 18 16 59 51 分類 計算方法數學類 字型大小 訂閱 牛頓迭代法,牛頓下山迭代 include include float newtonfun float x0,float c float xiashanfun float x0,float c float fun1 floa...
牛頓法和牛頓迭代法
牛頓法,大致的思想是用泰勒公式的前幾項來代替原來的函式,然後對函式進行求解和優化。牛頓法和應用於最優化的牛頓法稍微有些差別。牛頓法用來迭代的求解乙個方程的解,原理如下 對於乙個函式f x 它的泰勒級數展開式是這樣的 f x f x 0 f x 0 x x 0 frac f x 0 x x 0 2 f...
牛頓迭代法
創新工廠的筆試題 不用庫函式sqrt 求乙個整型數n的開方,要求精度達到0.001即可。在這裡首先介紹一下牛頓迭代法 假設乙個方程為 f x 0 那麼假設其解為x0,則用泰勒級數展開之後可得 f x f x0 f x0 x x0 0 其中x為其近似解。根據上式推導出 x x0 f x0 f x0 這...