0
 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);
}

この天井を適切に行うにはどうすればよいですか?

4

1 に答える 1

0

私はC++インターフェースに精通していませんが、mpz_class変数のsqrt()はmpz_classの結果を返すと思います。ceil()を整数に適用しても意味がありません。sqrt()から浮動小数点の結果を取得するにはmpf_classを使用する必要があります。そうすれば、ceil()が機能するはずです(ただし、mpf_classを返します)。

于 2012-11-28T06:35:55.770 に答える