L=ceil((sqrt(v-4*N)-1)/4)-1其中V和N是mpz_class变量。
出于某种原因,这会抛出一个打开gmpxx.h的错误,并且在
inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr<mpz_t, T> &expr)
{
expr.eval(z);
}我该如何正确地做这个单元呢?
发布于 2012-11-28 14:35:56
我不熟悉C++接口,但我认为mpz_class变量的sqrt()会返回mpz_class结果。对整数应用ceil()是没有意义的。您将需要使用mpf_class从sqrt()获得浮点结果,然后ceil()应该可以工作(但返回一个mpf_class)。
https://stackoverflow.com/questions/13595107
复制相似问题