牛客 43(B 小數點後的第k1至k2位)

2021-09-16 21:26:33 字數 448 閱讀 6480

題解:可以自己手動模擬一下,然後你會發現,乙個數除的最後一位只與上一位的餘有關。所以,不斷 *10 然後 %b 就好。但是太慢。。加個快速冪。a*(10,n-1) %b 然後 剩下的 *10再/b 就好

#include#define mid (l+r)>>1

#define lson step<<1

#define rson step<<1|1

#define ll long long

using namespace std;

const int maxn=1005;

ll m,n,k1,k2;

ll qpow(ll c,ll d)

return res%n;

} int main()

cout << endl; }

return 0;

}

去除小數點後多餘的0

bigdecimal c new bigdecimal 14121312.22002000 numberformat nf numberformat.getinstance nf.setmaximumfractiondigits 6 string d nf.format c system.out.p...

c 保留小數點後位數的方法

c 保留小數點後位數的方法 double dvalue 95.12345 int ivalue 10000 string strvalue 95.12345 string result result convert.todouble dvalue tostring 0.00 保留小數點後兩位,結果為...

BigDecimal準確設定小數點後的精度

因為bigdecimal的原因吧,也可以說是double的問題吧 new bigdecimal currentlat2 時值不再是 2.455675而是2.455674999999999999999999 因此在保留5位小數,四捨五入時,就變成2.45567而不是2.45568 後乙個正確是因為沒形...