2

123456 という数字があるとしましょう。123456 % 97 = 72 です。新しい数字 % 97 = 1 になるように、123456 の末尾に追加する必要がある 2 桁をどのように判断できますか? 注 - 常に 2 桁である必要があります。

たとえば、123456 76 % 97 = 1 です。この場合、数字の末尾に「76」を追加する必要があります。

(これはIBAN番号の計算用です。)

4

5 に答える 5

9
x = 123456

x = x * 100
newX = x + 1 + 97 - (x % 97)

編集:100を間違った場所に置く

于 2008-11-10T14:09:59.100 に答える
7

123456 00から 97 のモジュロを計算し、その数値に (97 - その + 1) を追加します。したがって、RoBorg が上で説明した理由がわかります :)

于 2008-11-10T14:13:41.433 に答える
2

12 桁の数字を受け取る必要があるとしましょう。

ステップ 1: 任意の 10 桁の乱数を書き込みます。つまり、必要な数字よりも 2 桁少なくなります。たとえば、1234567890 – これは X です。

ステップ 2: X * 100 = 123456789000. '123456789000' - これは Y です

ステップ 3: Y / 97 = '1272750402.061856'. '06' – これは Z です

ステップ 4: 97 – Z + 1 = 92. '92' – これは W

ステップ 5: 最終ディール番号は X の後に W です。つまり、「123456789092」です。

受け入れられる番号の例: 100000000093 100000000190 100000000287 など。

于 2016-07-07T04:32:08.467 に答える
2

これはあなたが必要とする方程式です

 X = Y -(Number*100 mod y) - 1

どこ:

   Number = 123456
    Y = 97
    X the number you need
于 2008-11-10T14:12:18.207 に答える
1

モジュロ演算は、実際には通常の演算とそれほど違いはありません。あなたが抱えている問題を解決するための鍵は、その問題を解決するために通常行うことは依然として有効であることを認識することです (以下では、数値についての言及はすべて整数を意味します)。

あなたが持っていると言う

15 + × = 20

これを解決する方法は、通常の足し算で 15 の逆数が -15 であることを認識することです。そうすれば、次のように書くことができます (私たちが自然に行うように、可換性と結合性を利用します)。

15 + x + (-15) = (15 + (-15)) + x = 0 + x = x = 20 + (-15) = 5

あなたの答えがx = 5になるように

今あなたの問題に進みます。

N と M が既知で、k を法とする足し算で x を探しているとします。

( N + x ) mod k = M

そのことにまず気づく

( N + x ) mod k = ( ( N mod k ) + ( x mod k ) ) mod k

そして問題を理解するために

M mod k = M

x mod k = x

そうすることで

N mod k = N_k

( a + b ) mod k = a +_k b

あなたが持っている

N_k +_k x = M

つまり、必要なのは +_k の下の N_k の逆数です。+_k の下の逆数はこの方程式を満たすものであるため、これは実際には非常に単純です。

N_k +_k ("​​-N_k") = 0

0 <= y < k

(y + (k - y)) mod k = k mod k = 0

となることによって

"-N_k" = (k-N_k)

その後

N_k +_k x +_k "-N_k" = N_k +_k "-N_k" +_k x = 0 +_k x = x = M +_k "-N_k" = M +_k ( k - N_k )

そのため、

( N + x ) mod k = M

x = ( M + ( k - ( N mod k ) ) mod k

特にあなたの問題について

( 12345600 + x ) % 97 = 1

によって解決されます

x = ( 1 + ( 97 - ( 12345600 mod 97 ) ) mod 97 = 76

k < 100 である限り、常に 2 桁で解決するという要件が組み込まれていることに注意してください。

于 2008-11-10T15:50:00.757 に答える