Luhn test of credit card numbers: Difference between revisions
Content added Content deleted
(add RPL) |
(Added Chipmunk Basic) |
||
Line 1,345: | Line 1,345: | ||
end if |
end if |
||
next test</syntaxhighlight> |
next test</syntaxhighlight> |
||
==={{header|Chipmunk Basic}}=== |
|||
{{works with|Chipmunk Basic|3.6.4}} |
|||
<syntaxhighlight lang="qbasic">100 cls |
|||
110 rem Luhn test |
|||
120 dim card$(5) |
|||
130 card$(1) = "49927398716" |
|||
140 card$(2) = "49927398717" |
|||
150 card$(3) = "1234567812345678" |
|||
160 card$(4) = "1234567812345670" |
|||
170 for test = 1 to 4 |
|||
180 odd = true |
|||
190 sum = 0 |
|||
200 for n = len(card$(test)) to 1 step -1 |
|||
210 num = val(mid$(card$(test),n,1)) |
|||
220 if odd then |
|||
230 sum = sum+num |
|||
240 odd = false |
|||
250 else |
|||
260 num = num*2 |
|||
270 if num <= 9 then |
|||
280 sum = sum+num |
|||
290 else |
|||
300 sum = sum+val(left$(str$(num),1))+val(right$(str$(num),1)) |
|||
310 endif |
|||
320 odd = true |
|||
330 endif |
|||
340 next |
|||
350 if sum mod 10 = 0 then |
|||
360 print card$(test),"True" |
|||
370 else |
|||
380 print card$(test),"False" |
|||
390 endif |
|||
400 next test</syntaxhighlight> |
|||
==={{header|QBasic}}=== |
==={{header|QBasic}}=== |