質問編集履歴
1
抜け追記や分かりにくい部分の情報追記など
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
PHPでは大きな数値を扱いたい場合にはを使えという事になっています。
|
1
|
+
PHPでは大きな数値を扱いたい場合には「BC Math 関数」を使えという事になっています。
|
2
2
|
|
3
|
-
が、
|
3
|
+
が、「BC Math 関数」でも比較的簡単に桁あふれしてしまいました。
|
4
4
|
|
5
5
|
|
6
6
|
|
@@ -12,7 +12,11 @@
|
|
12
12
|
|
13
13
|
```
|
14
14
|
|
15
|
+
[フェルマーの小定理 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A7%E3%83%AB%E3%83%9E%E3%83%BC%E3%81%AE%E5%B0%8F%E5%AE%9A%E7%90%86)
|
16
|
+
|
17
|
+
![イメージ説明][WIDTH:164](054042ebd043bad4d2866ad7d9a56f3c.png)
|
18
|
+
|
15
|
-
aを最小の2としていてかつたった12桁の数値の判定も出来ないようでは使用に耐えられません。「PHPの標準
|
19
|
+
aを最小の2としていてかつ、たった12桁の数値の判定も出来ないようでは使用に耐えられません。「PHPの標準ルマーテストは実装できないのか」と一瞬絶望しました。ちなみにJavaScriptのライブラリでは50桁の判定も出来るものもありました。
|
16
20
|
|
17
21
|
|
18
22
|
|
@@ -23,8 +27,6 @@
|
|
23
27
|
echo bcpowmod("2", bcsub("132170943523", "1"), "132170943523") . "<br>";
|
24
28
|
|
25
29
|
```
|
26
|
-
|
27
|
-
|
28
30
|
|
29
31
|
bcpowだと「bcpow("2", "132170943523")」ですでに桁あふれが起こっていたようです。
|
30
32
|
|