-
1 # 豁達的文愛
-
2 # 靈敏蛋糕oUH
描述
Luhn算法會通過校驗碼對一串數字進行驗證,校驗碼通常會被加到這串數字的末尾處,從而得到一個完整的身份識別碼。
我們以數字“7992739871”為例,計算其校驗位:
從校驗位開始,從右往左,偶數位乘2(例如,1*2=2),然後將兩位數字的個位與十位相加(例如,16:1+6=7,18:1+8=9);
把得到的數字加在一起(本例中得到67);
將數字的和取模10(本例中得到7),再用10去減(本例中得到3),得到校驗位。
-
3 # 護心所愛
1. 從右往左,將奇數位(即從右數第1位、第3位、第5位……)的數字相加,得到數字之和。
2. 將偶數位的數字,乘以2,如果乘積超過9,則將個位和十位數字相加,得到一個新的數字。將所有得到的新數字相加,得到數字之和。
3位、第5位……)的數字相加,得到數字之和。
4. 如果總和能夠被10整除,則輸入的數字串有效,否則無效。
5位……)的數字相加,得到數字之和。
6 1200 0523 4567的數字串,其Luhn算法運行過程如下:
76 1200 0523 4567的數字串,其Luhn算法運行過程如下:
8;得到新數字為:3 + 4 + 2 + 8 = 17
9,則將個位和十位數字相加,得到一個新的數字。將所有得到的新數字相加,得到數字之和。
10整除,則輸入的數字串有效,否則無效。
-
4 # Smily妍
luhn算法的運行方法:
算法只是一種編程的思想。要把你算法的功能表現出來還需要使用工具:運行環境編程語言對應的編譯器用編程語言翻譯你的算法成編譯器可以認得的語言用編譯器編譯,也就是翻譯成可以讓運行環境可以認得的語言。一般運行環境可以認得的語言就是機器語言。比如用vc編寫的代碼,編譯出程序。但有些時候不是的,比如用java語言寫的代碼,java編譯器編譯出的程序是不能直接給機器運行的,而是給java虛擬機去解釋成機器語言然後給機器執行
回覆列表
Luhn算法是一種用於驗證銀行卡號、信用卡號等一些帶有校驗位的號碼的算法。它可以通過校驗位的計算來判斷一個號碼是否有效。以下是Luhn算法的運行步驟:
1. 從校驗位數字開始,從右到左對每個數字乘以二,如果乘以二的結果大於9,則將其減去9。
2. 將所有乘以二後的數字相加。
3. 將所有未乘以二的數字相加。
4. 將步驟2和步驟3的結果相加。
5. 如果步驟4的結果模10等於0,則號碼有效,否則號碼無效。
舉個例子,假設你要驗證信用卡號碼`79927398713`,以下是運行步驟:
1. 從校驗位數字3開始,從右到左對每個數字乘以二,得到`6 18 8 18 4 16 6 14 2`。
2. 將所有乘以二後的數字相加,得到`78`。
3. 將所有未乘以二的數字相加,得到`33`。
4. 將步驟2和步驟3的結果相加,得到`111`。
5. 因為`111`模10等於0,所以信用卡號碼`79927398713`是有效的。