回答編集履歴
4
誤字の修正
test
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
|
44
44
|
|
45
|
-
よって、どのようなnであってもxは存在し、その回数
|
45
|
+
よって、どのようなnであってもxは存在し、その回数分でループが停止する。
|
46
46
|
|
47
47
|
|
48
48
|
|
3
脱字修正
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
nは4294967295以下の奇数であり、4294967296は2の32乗であるから、互いに素である。中国剰余定理」の特別な場合により、上の式が成り立つ、xとqの組合せは必ず存在する。
|
41
|
+
nは4294967295以下の奇数であり、4294967296は2の32乗であるから、互いに素である。「中国剰余定理」の特別な場合により、上の式が成り立つ、xとqの組合せは必ず存在する。
|
42
42
|
|
43
43
|
|
44
44
|
|
2
Cと同じ
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
※数式はCのコードと言うことではなく、Cのコード風の演算子になっている純粋な数式です。
|
5
|
+
※数式はCのコードと言うことではなく、Cのコード風の演算子になっている純粋な数式です。オペレーターの意味はCと同じですが、各式の計算でオーバーフローやラップアラウンドしないと考えてください。
|
6
6
|
|
7
7
|
|
8
8
|
|
1
誤字の修正?
test
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
-
32bit unsigned intの最大値は2
|
1
|
+
32bit unsigned intの最大値は2の32乗-1=4294967295である。Cで符号無し整数の演算が最大値を超えた場合、最大値に1足した数(4294967296)の剰余になる(ラップアラウンド)。
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
※数式はCのコードと言うことではなく、Cのコード風の演算子になっている純粋な数式です。Cと同じエペレーターを使用しますが、各式の計算でオーバーフローやラップアラウンドしないと考えてください。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
あるi回まで足していったとき、tはi*nだが、これが4294967296を越えていないとする。次のi+1回、つまり、(i+1)*nで越えてしまうとすると、その値は((i+1)*n)%4294967296であり、次の(i+2)*nは((i+1)*n)%4294967296+n=((i+1)*n)%4294967296+n%4294967296であるが、剰余の定理により((i+1)*n+n)%4294967296=((i+2)*n)%4294967296になる(nは4294967296より小さい)。これは、4294967296を越える度に同じ計算となるので、ある回数xについて、
|
6
10
|
|
7
11
|
|
8
12
|
|
@@ -34,7 +38,7 @@
|
|
34
38
|
|
35
39
|
|
36
40
|
|
37
|
-
nは4294967295以下の奇数であり、4294967296は2
|
41
|
+
nは4294967295以下の奇数であり、4294967296は2の32乗であるから、互いに素である。中国剰余定理」の特別な場合により、上の式が成り立つ、xとqの組合せは必ず存在する。
|
38
42
|
|
39
43
|
|
40
44
|
|