顯示具有 Theory 標籤的文章。 顯示所有文章
顯示具有 Theory 標籤的文章。 顯示所有文章

2010年8月30日 星期一

[Theory] 台灣身分證驗證規則 R.O.C. ID

身分證共有9個數字(N1~N9)加上開頭一個英文字(N0)

N0 N1 N2 N3 N4 N5 N6 N7 N8 N9

N0的英文字代表出生戶籍登記的地區 (不見得是出生地)

英文字與出生地區對照表如下:

A台北市 B台中市 C基隆市 D台南市 E高雄市 F台北縣 G宜蘭縣
H桃園縣 I嘉義市 J新竹縣 K苗栗縣 L台中縣 M南投縣 N彰化縣
O新竹市 P雲林縣 Q嘉義縣 R台南縣 S高雄縣 T屏東縣 U花蓮縣
V台東縣 W金門縣 X澎湖縣 Y陽明山 Z連江縣

每個英文字有其代表的數字, 用來稍後驗證時用, 其對照表如下:
A=10 B=11 C=12 D=13 E=14 F=15 G=16
H=17 I=34 J=18 K=19 L=20 M=21 N=22
O=35 P=23 Q=24 R=25 S=26 T=27
U=28 V=29 W=32 X=30 Y=31 Z=33

身份證號碼驗證方式:

(N0 十位數 + (N0 個位數 x 9) + (N1 x 8) + (N2 x 7) +  (N3 x 6) +  (N4 x 5) +  (N5 x 4) +  (N6 x 3) +  (N7 x 2) + N8 + N9)

以上算式得出來的結果如果能被10整除, 此身分證字號即為正確。

[Theory] ISBN國際標準書號

http://zh.wikipedia.org/zh-tw/國際標準書號

國際標準書號(International Standard Book Number,ISBN;擬發音is-ben),是國際通用的圖書或獨立的出版物(除定期出版的期刊)代碼。出版社可以通過國際標準書號清晰的辨認所有非期刊書籍。一個國際標準書號只有一個或一份相應的出版物與之對應。新版本如果在原來舊版的基礎上沒有內容上太大的變動,在出版時也不會得到新的國際標準書號碼。當平裝本改為精裝本出版時,原來相應的國際標準書號號碼也應當收回。


校驗碼的計算方法(13碼)

  1. 假設某國際標準書號號碼前12位是:978-986-181-728;
  2. 計算加權和S:S = (9x1)+(7x3)+(8x1)+(9x3)+(8x1)+(6x3)+(1x1)+(8x3)+(1x1)+(7x3)+(2x1)+(8x3) = 164;
  3. 計算S÷10的餘數M:M = 164 mod 10 = 4;
  4. 計算10 - M 的差N:N = 10 − 4 = 6;
  • 如果N = 10,校驗碼是數字「0」;
  • 如果N為其他數字,校驗碼是數字N。;

2009年6月9日 星期二

閏年規則 Leap Year

「4年一閏,百年不閏,四百年閏」

4000年閏

function isLeapYear (year):
if ((year modulo 4 is 0) and (year modulo 100 is not 0)) or (year modulo 400 is 0)
then true
else false

Reference: http://en.wikipedia.org/wiki/Leap_year
Related Posts Plugin for WordPress, Blogger...