2016-07-01 3 views
0

これは基本的にASCIIを取る関数を作成しようとしています反復で以前の乗算の残りの値を乗算します。i = 1の場合remの各値を保存し、i = eのときはremを返す間に "rem =(rem * value)%N"を反復しようとしています

したがって、最初の反復(i = 0)では、余りが最初のasc値として設定されます。 2回目の反復(i = 1)の場合、計算はrem = (rem * ascVal)%Nのようになります。ここで、remrem * ascValで、前の反復のrem(剰余)です。 これは、最後の値remが返されるi = eまで続きます。

これは私がこれまで持っているものです。

function newVal(ascVal) { 
 
    var i = 0; 
 
    var rem = ascVal; 
 
    while (i < e) { 
 
     rem = (rem * ascVal) % N; 
 
     i++; 
 
     if (i == e) { 
 
      return rem; 
 
     } 
 
    } 
 
    newVal(rem); 
 
}
事が入力するたびに、単一の値であれば、それは常に55を返します。 私はそれを行うには、 eの反復の後に剰余を見つけることが必要です。任意の助けが素晴らしいだろうと私は必要に応じてスクリプト全体を投稿することができます(すべての計算などを含む)

P.S.このスクリプトは小さなプロトタイプの楕円曲線暗号です。

答えて

0

だから私はwhileループを使って解決しました。

function newVal(ascVal) { 
var num = Number(ascVal); 
var rem = num; 
var i = 0; 
while (i < e) { 
    i++; 
    rem = (rem*num)%N; 
} 
return rem; 

}

これは正しい値毎に反復します。

関連する問題