Webãµã€ããå®åºèã§ã®è²·ãç©ã§ãã¯ã¬ãžããã«ãŒããäŒå¡çªå·ãå ¥åãããšããæã¡ééãããããšãå ¥åãã¹ããããŸãããšåºãæããããŸããããããããŒã¿ããŒã¹ãžã®ç §åãè¡ãåã«ééããåããããšããããäžæè°ã«æã£ãããšã¯ãªãã§ãããããå®ã¯ããããã§ãã¯ãã£ãžããããšããä»çµã¿ã«ãããã®ã§ããä»åã¯ããã®ä»çµã¿ãå©çšããŠãå®éã«å ¥åãã¹ãæ€åºããããŒã«ãäœã£ãŠã¿ãŸãããã
ã¯ã¬ãžããã«ãŒãã®ãã§ãã¯ãã£ãžããã«ã€ããŠ
ã¯ã¬ãžããã«ãŒãã®çªå·ãäŒå¡èšŒçªå·ã®æã¡ééããæ€åºããããã§ãã¯ãã£ãžããããšããã®ã¯ãèª€ãæ€åºèšæ£ã®äžçš®ã§ããã«ãŒãçªå·ãªã©ã®åæ¡ãè¶³ãããå²ã£ããããŠãçªå·ãæ£ãããã調ã¹ãŠããŸãããªããã¯ã¬ãžããã«ãŒãçªå·ã¯ãã«ãŒã³ã¢ã«ãŽãªãºã ããšããèšç®æ¹æ³ãå©çšããŠæã¡ééããæ€åºã§ããããã«å·¥å€«ãããŠããŸããã¯ã¬ãžããã«ãŒãã®çªå·ã®ã»ããã«ãã瀟äŒä¿éºçªå·ãæºåž¯é»è©±ã®èå¥çªå·ã®IMEIçªå·ãªã©ãæ§ã ãªçªå·ã§æ¡çšãããŠããŸãã
ã«ãŒã³ã¢ã«ãŽãªãºã ã®èšç®æ¹æ³
ããã§ã¯ãã«ãŒã³ã¢ã«ãŽãªãºã ã®èšç®æ¹æ³ã確èªããŠã¿ãŸããããããã¯ãã«ãŒãçªå·ã®åæ¡ã以äžã®èŠåã«åŸã£ãŠèšç®ããããšã§ãå ¥åã®èª€ããæ€åºãããã®ã§ãã
ã»ïŒïŒïŒã«ãŒãçªå·ã®å¥æ°æ¡ãè¶³ãåãããã
ã»ïŒïŒïŒã«ãŒãçªå·ã®å¶æ°æ¡ãäºåããŠè¶³ãåãããããã ã10以äžãªãã°9ãåŒãã
ã»ïŒïŒïŒäžèšïŒïŒïŒãšïŒïŒïŒãè¶³ãåãããŠã10ã§å²ã£ãŠå²ãåããã°ãã«ãŒãçªå·ã¯æ£ããã
ã¡ãªã¿ã«ã«ãŒãçªå·ã®æ¡ã§ãããå³ããæ°ããŠ(åãã£ãŠå·Šã0ãã)äœæ¡ç®ãã®å¶æ°ã奿°ããå€å®ããŸãã
èšç®æ¹æ³ã詊ããŠã¿ãã
ããã§ãããã¯ã¬ãžããã«ãŒãçªå·ã®ãµã³ãã«ãšããŠçšããããŠããã3566002020360505ããšããçªå·ãäŸã«ãšã£ãŠèšç®ããŠã¿ãŸãããã
ãŸãã¯ãïŒïŒïŒå¥æ°æ¡ãè¶³ãåãããŸãã
[奿°æ¡ãè¶³ãåããã]
5+6+0+0+0+6+5+5 = 27
次ã«ãïŒïŒïŒå¶æ°æ¡ãåãåºããŠã¿ãŸãããã
[å¶æ°æ¡ãåãåºã]
3 6 0 2 2 3 0 0
ãã®ãšããæ°åãäºåãããã®ãè¶³ãåãããŸãããããã ããäºåããŠ10以äžã«ãªããã®(5ãã9)ã«ã€ããŠã¯ããã®å€ãã9ãåŒããå€ãè¶³ãåãããŸããäŸãã°ã6ãªãã°äºåããŠ12ã«ãªãã®ã§ã12-9ã§3ãšãªãã3ãè¶³ãå€ãšããŠæ¡çšããŸãã
[äºåãããã®ãè¶³ãåããã]
6+(12-9)+0+4+4+6+0+0 = 23
æåŸã«ïŒïŒïŒãšïŒïŒïŒãè¶³ãããã®ã10ã§å²ã£ãäœãã調ã¹ãŸãã
(27 + 23) = 50
50 % 10 = 0
確ãã«ã0ãšãªã£ãã®ã§ããã®ã¯ã¬ãžããã«ãŒãã®çªå·ã¯æ£ãããšããããšã«ãªããŸãã
ããã°ã©ãã³ã°ã§æ€èšŒããŠã¿ãã
ããã§ã¯ããããæ¥æ¬èªããã°ã©ãã³ã°ããªã§ãããã®ããã°ã©ã ã§ç¢ºãããŠã¿ãŸãããããªã§ããã®Webãµã€ãã®ç°¡æãšãã£ã¿ã«ä»¥äžã®ããã°ã©ã ã貌ãä»ããŠè©ŠããŠã¿ãŸãããã
â(ã«ãŒãçªå·ã)ã¯ã¬ãžããã«ãŒãçªå·æ€èšŒãããšã¯ # --- (*1)
ããåèšå€ïŒïŒ
ããLïŒã«ãŒãçªå·ã®æåæ°
ããNã1ããLãŸã§ç¹°ãè¿ã # --- (*2)
ããããC=ã«ãŒãçªå·ã§(L-N+1)ããïŒæåæãåºãã# --- (*3)
ãããããããN%2=0ãªãã° # --- (*4)
ããããããC=CÃ2
ãããããããããC>ïŒãªãã°ãC=C-9ã
ãããããããŸã§
ããããåèšå€ïŒåèšå€ïŒC # --- (*5)
ãããããŸã§ã
ããããã¯ïŒåèšå€ïŒ
ïŒïŒïŒïŒïŒ# --- (*6)
ãããŸã§ã
ïŒ--- å®éã®å€ã§ç¢ºèªããŠã¿ã ---
ã3566002020360505ããã¯ã¬ãžããã«ãŒãçªå·æ€èšŒã
ããããããOKãªãã°ãæ£ããããšè¡šç€ºãéãã°ãééãããšè¡šç€ºã
ã4242424242424242ããã¯ã¬ãžããã«ãŒãçªå·æ€èšŒã
ããããããOKãªãã°ãæ£ããããšè¡šç€ºãéãã°ãééãããšè¡šç€ºã
ã378282246310005ããã¯ã¬ãžããã«ãŒãçªå·æ€èšŒã
ããããããOKãªãã°ãæ£ããããšè¡šç€ºãéãã°ãééãããšè¡šç€ºã
ãå®è¡ããã¿ã³ãæŒããšãããã°ã©ã ãå®è¡ãããŠãçµæã確èªã§ããŸãã
ããã°ã©ã ã確èªããŠã¿ãŸãããã(ïŒ1)ã®éšåã§ã¯ã颿°ãã¯ã¬ãžããã«ãŒãçªå·æ€èšŒããå®çŸ©ããŠããŸãããã®é¢æ°ã«ã¯ã«ãŒãçªå·ãšããåŒæ°ãïŒã€äžãããã®ã§ãããããŠã(ïŒ2)ã®éšåã§ã¯ãã«ãŒãçªå·ã®æåæ°åã ãç¹°ãè¿ãåŠçãè¡ããŸãã(ïŒ3)ã®éšåã§ã¯ãã«ãŒãçªå·ã®å³ããNçªç®ã®æåãïŒæåæãåºããŸãã(ïŒ4)ã§ã¯å¶æ°æ¡ã®æã®åŠçãèšè¿°ããŸããå¶æ°æ¡ãªãã°ãå€ãäºåããããã9è¶ ã§ããã°9ãåŒããšããåŠçã§ãã(ïŒ5)ã®éšåã§å€ãè¶³ãåãããŸãã(ïŒ6)ã§ã¯10ã§å²ã£ãäœããæ±ããããã0ãšçãããã©ãããæ±ããããã颿°ã®çµæã«ããŸãã
å®çšçãªã«ãŒãçªå·ãã§ãã¯ã¢ããªã«ä»äžããã
ãããŸã§ã®æé ã§ãã¯ã¬ãžããã«ãŒãçªå·ãæ€èšŒããããã°ã©ã ãäœããŸãããããã§ããã®é¢æ°ãå©çšããŠãããå°ãå®çšçãªããŒã«ãäœã£ãŠã¿ãŸãããã
# --- ã«ãŒãããã§ãã¯ããUIãHTMLã§æ§ç¯ --- (*1)
UI=ã<h1>ã«ãŒããã§ãã¯</h1>
<p id="cardform">ã«ãŒãçªå·:
<input type="text" id="card" value="3566002020360505" size=40>
<span id="result">...</span></p>
ã
ã#nako3_div_1ãã«UIãHTMLèšå®ã
# --- ã€ãã³ããèšå® --- (*2)
ã#cardãã®ããŒé¢ããæã«ã¯
ããã#cardãã®ããã¹ãååŸããŠãã¯ã¬ãžããã«ãŒãçªå·æ€èšŒã
ããããããããOKãªãã°
ããããçµæã¯ãOKãã
ããããã¹ã¿ã€ã«ã¯{"background-color":ç·è²}
ããéãã°
ããããçµæã¯ãNGãã
ããããã¹ã¿ã€ã«ã¯{"background-color":èµ€è²}
ãããããŸã§ã
ããã#resultãã«çµæãHTMLèšå®ã
ããã#cardformãã«ã¹ã¿ã€ã«ãDOMã¹ã¿ã€ã«äžæ¬èšå®ã
ãããŸã§ã
# --- ã«ãŒãæ€èšŒçšé¢æ° --- (*3)
â(ã«ãŒãçªå·ã)ã¯ã¬ãžããã«ãŒãçªå·æ€èšŒãšã¯
ããåèšå€ïŒïŒ
ããLïŒã«ãŒãçªå·ã®æåæ°
ããNã1ããLãŸã§ç¹°ãè¿ã
ããããC=ã«ãŒãçªå·ã§(L-N+1)ããïŒæåæãåºãã
ãããããããN%2=0ãªãã°
ããããããC=CÃ2
ãããããããããC>ïŒãªãã°ãC=C-9ã
ãããããããŸã§
ããããåèšå€ïŒåèšå€ïŒC
ãããããŸã§ã
ããããã¯ïŒåèšå€ïŒ
ïŒïŒïŒïŒïŒ
ãããŸã§ã
åãããã«ããªã§ããç°¡æãšãã£ã¿ã«ããã°ã©ã ã貌ãä»ããŠå®è¡ããŠã¿ãŸãããã以äžã®ç»é¢ã®ããã«ãæ£ããã«ãŒãçªå·ãå ¥åãããšãç·è²ã«ãªããééã£ãçªå·ãå ¥åãããšãèµ€è²ã«ãªããŸãã
ããã°ã©ã ã®(ïŒ1)ã®éšåã§ã¯ãHTMLã§ã«ãŒããã§ãã¯ã®ããã®UIãæå®ããŸãã(ïŒ2)ã®éšåã§ã¯ãããŒã€ãã³ããç£èŠããŠãã¯ã¬ãžããã«ãŒãæ€èšŒé¢æ°ãåŒã³åºããŠçµæã衚瀺ããŸãã(ïŒ3)ã®éšåã¯ãã«ãŒãæ€èšŒçšã®é¢æ°ãå®çŸ©ããŠãããã®ã§ãã
ãŸãšã
以äžãä»åã¯ã¯ã¬ãžããã«ãŒãæ€èšŒã®ããã®ããã°ã©ã ãäœã£ãŠã¿ãŸããããã®ããã«ãã«ãŒã³ã¢ã«ãŽãªãºã ãå©çšããŸããããã®æ€èšŒæ¹æ³ã¯ããã»ã©é£ãããã®ã§ã¯ãªãã®ã§ã12è¡çšåºŠã®çãããã°ã©ã ã§ã確èªã§ãããã®ã§ãããç°¡åãªãã§ãã¯ã§ã«ãŒãçªå·ã®å ¥åãã¹ãææã§ããã®ã¯äŸ¿å©ã§ãã
å®éãã¯ã¬ãžããã«ãŒããå ¥åããŠããããããªWebãµã€ããäœãããšã¯å€ããªããããããŸãããããããäœãããã®äŒå¡èšŒãçºè¡ãããããªæ©äŒããããããããŸããããã®ãããªæã«ãäŒå¡çªå·ã«ããããééããã§ãã¯ã®ä»çµã¿ãä»èŸŒãã§ããã°ãäŒå¡çªå·ã®å ¥åãã¹ãé²ãããšãã§ããŸããèŠããŠãããšäŸ¿å©ã§ãããã
èªç±åããã°ã©ããŒããããã¯ãã©ã«ãŠãããã°ã©ãã³ã°ã®æ¥œãããäŒããæŽ»åãããŠããã代衚äœã«ãæ¥æ¬èªããã°ã©ãã³ã°èšèªããªã§ããã ãããã¹ã鳿¥œããµã¯ã©ããªã©ã2001幎ãªã³ã©ã€ã³ãœãã倧è³å ¥è³ã2005幎IPAã¹ãŒããŒã¯ãªãšã€ã¿ãŒèªå®ã2010幎 OSSè²¢ç®è ç« åè³ãæè¡æžãå€ãå·çããŠããã



