問題タブ [exponentiation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2532 参照

python - 非常に大きな整数の二乗によるべき乗のために pow() を実装する Python

http://en.wikipedia.org/wiki/Exponentiation_by_squaringを二乗することにより、累乗を使用してバイナリを少しずつ処理する独自の pow() をロールしようとしています。これがこの問題について考えるのに役立つかどうか、この分野でいくつかの質問がありました。

Python でのフロートの組み込み pow() と math.pow() の違いは?

Python の ** および % 演算子の大きな数値での動作

自作 pow() c++

私はPythonを独学しているので、単純な間違いかもしれません。

出力は 31,21,12 で正しく、5,2,8 で間違っています。

これがどこで悲劇的に間違ったのかわかりません。

0 投票する
2 に答える
507 参照

c++ - 二乗によるべき乗剰余におけるオーバーフローの可能性

主要なテストのためにフェルマーの小定理を実装しようとしています。ここに私が書いたコードがあります:

注:a(<=n-1) asの値を取りました2

現在、数 n は まで大きくすることができます10^18。これは、 variableexpが に近い値に到達できることを意味します10^18。これは、エクスプレッションがオーバーフローを引き起こす(exp*exp)ほど高くなる可能性があることをさらに意味します。10^36どうすればこれを回避できますか。

これをテストしたところ、 まで問題なく動作しました10^9。私はC++を使用しています

0 投票する
2 に答える
126 参照

matlab - ベクトル化された累乗

X基数とN指数の2 つのベクトルがあります。各inおよびinのすべての値の行列を取得したいと考えています。e = xnxXnN

たとえば、次の入力:

生成する必要があります:

ループせずにこれを取得する方法はありますか (列ごとの行積を使用して x×n のすべての値を取得できるように)?

0 投票する
1 に答える
482 参照

algorithm - 巡回シフトによる累乗

SO に関する他のトピックでは、Brickell らによる論文「<a href="http://www.ccrwest.org/gordon/fast.pdf" rel="nofollow">Fast Exponentiation with Precomputation」について言及しました。 2 進数に対応する累乗の事前計算という単純な概念とともに、「巡回シフトによる累乗」に関する記述がありました (私の理解する限りでは)。残念ながら、論文のその部分は非常に一般的な形で表現されていたので、彼らが 2**n 以外の基数で洗練されたものになるような明白なことを話しているのか、それとも他のべき乗法が実際に存在するのか、私にはわかりません。乗算(二乗)よりも?

たとえば、あるとしましょうx = 5(これ00101は 2 進数です)。ビットシフトとおそらくいくつかの追加のみを使用して、 y = 5 * 5(バイナリで)最終的にどのようにすることができますか?11001もちろん、アルゴリズムは乗算よりも効果的である必要があります — 「ビットシフトと加算の束によって各乗算をエミュレートすることができます」という答えy = (5 << 2) + (5 << 0)はカウントされません。まあ、まばらな数が普通なら数えることはできますが、それは一般的なシナリオではなく、正確なビット母集団の数を決定するのにも時間がかかるので、数が非常にまばらでない限り、試す価値はありません。二乗するたびに、新しい評価が必要です。

0 投票する
1 に答える
1752 参照

matlab - 非正方行列の各要素をどのように累乗しますか?

寸法が 512 x 683 のマトリックスがあり、それを .8 と 1.2 に別々に上げてガンマ変換しようとしています。明らかに、非正方行列を累乗することはできないため、行列の各要素を .8 乗および 1.2 乗にするにはどうすればよいか考えていました。

ありがとう

0 投票する
1 に答える
110 参照

max - LONG_MAX を超える可能性のある数学関数を実行する方法

ある関数で A を計算し、別の関数で B を計算している (A div B ) mod C を実行する方法は?