回答編集履歴

5

さらに追記

2021/07/14 11:38

投稿

F_I_A
F_I_A

スコア104

test CHANGED
@@ -61,3 +61,7 @@
61
61
  $bは日付ではなく「使った日数」でしたね。その場合、100日目はどうするのでしょう?考慮不要ですか?
62
62
 
63
63
  考慮不要と仮定して19+2桁なら21桁、いずれにせよ英数7桁(26+26+10=62進数7桁)では表現しきれないので重複の可能性は排除できません。
64
+
65
+ 62進数12桁まで増やせれば、
66
+
67
+ 999999999999999999999(10進数21桁の最大値)=jdt8BLTpPG02(62進数)なので、単純に10進数→62進数変換で対応できます。

4

訂正

2021/07/14 11:38

投稿

F_I_A
F_I_A

スコア104

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  ### コメントを加味して追記
48
48
 
49
- $bが日付(yyyy-mm-ddのdd)とのことですが、それだと0-31で、月が替われば重複する可能性があります。
49
+ ~~$bが日付(yyyy-mm-ddのdd)とのことですが、それだと0-31で、月が替われば重複する可能性があります。
50
50
 
51
51
  (7/14と8/14で同じ値になる)
52
52
 
@@ -54,4 +54,10 @@
54
54
 
55
55
  英数7桁では**2,478,652,606,080通り**しか表現できないため、到底不可能です。
56
56
 
57
- そもそもユーザー固有の番号に19桁も必要なのか?最終的な答えは7桁ではなくもっと桁数を増やせないのか?そこから検討が必要かと思います。
57
+ そもそもユーザー固有の番号に19桁も必要なのか?最終的な答えは7桁ではなくもっと桁数を増やせないのか?そこから検討が必要かと思います。~~
58
+
59
+
60
+
61
+ $bは日付ではなく「使った日数」でしたね。その場合、100日目はどうするのでしょう?考慮不要ですか?
62
+
63
+ 考慮不要と仮定して19+2桁なら21桁、いずれにせよ英数7桁(26+26+10=62進数7桁)では表現しきれないので重複の可能性は排除できません。

3

コメントを受け追記

2021/07/14 11:30

投稿

F_I_A
F_I_A

スコア104

test CHANGED
@@ -41,3 +41,17 @@
41
41
 
42
42
 
43
43
  $aの19桁と$bの2桁はそれぞれ何由来のもので、最終的な7桁の英数文字列は何に使うつもりなのかを教えて頂ければ現実的な回答ができると思います。
44
+
45
+
46
+
47
+ ### コメントを加味して追記
48
+
49
+ $bが日付(yyyy-mm-ddのdd)とのことですが、それだと0-31で、月が替われば重複する可能性があります。
50
+
51
+ (7/14と8/14で同じ値になる)
52
+
53
+ 絶対に重複しないとなると、日付は8桁で表す必要があるので、ユーザー固有の番号が19桁なのであれば19+8=27桁が必要になります。
54
+
55
+ 英数7桁では**2,478,652,606,080通り**しか表現できないため、到底不可能です。
56
+
57
+ そもそもユーザー固有の番号に19桁も必要なのか?最終的な答えは7桁ではなくもっと桁数を増やせないのか?そこから検討が必要かと思います。

2

計算転記ミスを修正

2021/07/14 11:23

投稿

F_I_A
F_I_A

スコア104

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- ($aが99,999,999の場合は99,999,999×99=**99,999,999**でしかないので、a-z 0-9の42,072,307,200通りで十分対応ができます)
35
+ ($aが99,999,999の場合は99,999,999×99=**9,899,999,901**でしかないので、a-z 0-9の42,072,307,200通りで十分対応ができます)
36
36
 
37
37
 
38
38
 

1

追記

2021/07/14 11:07

投稿

F_I_A
F_I_A

スコア104

test CHANGED
@@ -32,4 +32,12 @@
32
32
 
33
33
 
34
34
 
35
+ ($aが99,999,999の場合は99,999,999×99=**99,999,999**でしかないので、a-z 0-9の42,072,307,200通りで十分対応ができます)
36
+
37
+
38
+
39
+ (数学自信ないですがたぶん合ってると思います)
40
+
41
+
42
+
35
43
  $aの19桁と$bの2桁はそれぞれ何由来のもので、最終的な7桁の英数文字列は何に使うつもりなのかを教えて頂ければ現実的な回答ができると思います。