投稿  收藏 

题目信息

题目类型
国赛
题目年份
2023
题目题型
编程题
关 键 词
银联信用卡校验码

题目题干

银联信用卡校验码为卡号最后一位,采用的是 LUHN 算法,亦称模 10 算法。计算方法如下。
第一步:从左边第 1 个数字开始每隔一位乘以 2。
第二步:把在第一步中获得的每组乘积逐位数字(个位与十位)相加,然后再与原号码中未乘 2 的各位数字相加求和。
第三步:求 10 与第二步求和值的个位数之差,如果个位数为 0,则该校验码为 0。
例如:625965087177209(不含最后一位的卡号)
第一步:6*2=12,5*2=10,6*2=12,0*2=0,7*2=14,7*2=14,2*2=4,9*2=18
第二步:(1+2) + (1+0) + (1+2) + (0) + (1+4) + (1+4) + (4) + (1+8) = 3030 + 2+9+5+8+1+7+0 = 62
第三步:10-2=8所以,校验码是 8,完整的卡号应该是 6259650871772098。
请编写程序,检验银联信用卡卡号的合法性。

答案解析

相关题目

在 Python 中,向文件写入的方法是______。 Awrite Badd Creadline Dwriteline
银联信用卡校验码为卡号最后一位,采用的是 LUHN 算法,亦称模 10 算法。计算方法如下。第一步:从左边第 1 个数字开始每隔一位乘以 2。第二步:把在第一步中获得的每组乘积逐位数字(个位与十位)相
本题根据密码表将密文解密为明文。为了提高数据的安全性,可将数字数据(如银行账号等)加密成字母密文保存,在使用时再解密还原成数字(例如,密文“agKxKaKa”用本程序可解密为“20151212”)。本
在下列语句中,不能创建一个字典的语句是 。 Adict = {} Bdict= {4:6} Cdict = {(4,5,6):'dictionary'} Ddict = {[4,5
在下列语句中,定义了一个字典的是 。 A[1,2,3] B(1,2,3) C{1,2,3} D{}
对于字典 dic={'abc':123, 'def':456, 'ghi':789},len(dic) 的结果是 。 A6 B3 C9 D1
Python 中的序列类型不包括 。 A字符串 B字典 C元组 D列表
下列关于字典的定义, 是错误。 A值可以是任意类型的 Python 对象 B属于 Python 中的不可变数据类型 C字典元素用花括号{ }包裹 D由键值(key-value)对构成
在下列表达式中, 不是合法的元组。 A(20,) B('runoob') C( ) D(123, 'runoob')
下列关于元组的说法,错误的是 。9\ A元组中的元素不能改变和删除 B元组没有 append()或 extend()方法 C元组在定义时所有元素放在一对圆括号“( )”中 D用 sort()方法可对

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢