/* Check a Visa or MC credit card number for accuracy */ Parse Arg CCNumber Sum=0 Do i=1 to Length(CCNumber) if i//2=0 then Do Sum=Sum+SubStr(CCNumber,i,1) end /* do */ else Do Product=2*SubStr(CCNumber,i,1) DigitSum=0 Do j=1 to Length(Product) DigitSum=DigitSum+SubStr(Product,j,1) end /* do */ Sum=Sum+DigitSum end /* do */ end /* do */ If Sum//10=0 then Say CCNumber "is valid." else Say CCNumber "is invalid. ("||Sum||")" Exit