蓝桥小练-02

来源:互联网 发布:艾瑞 数据 编辑:程序博客网 时间:2024/06/05 05:21

1.    程序设计(满分 9 分)

当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。

该校验的过程:

1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。

2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。

3、将奇数位总和加上偶数位总和,结果应该可以被10整除。

例如,卡号是:5432123456788881

则奇数、偶数位(用红色标出)分布:5432123456788881

奇数位和=35

偶数位乘以2(有些要减去9)的结果:1 6 2 6 1 5 7 7,求和=35。

最后35+35=70 可以被10整除,认定校验通过。

 

请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。

比如,用户输入:356827027232780

程序输出:成功

import java.util.Scanner;public class demo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入16位信用卡号:");String str = scanner.next().trim();char num[] = str.toCharArray();int sum = 0;boolean isOdd = true;for(int i=15;i>=0;i--){int number = num[i]-'0'; if(isOdd){sum+=number;isOdd = false; }else{if(number<5){sum+=2*number; }else{number=number*2-9;    sum+=number;     }isOdd=true;}}System.out.println(sum);if(sum%10==0){  System.out.println("成功!");}else{System.out.println("失败!");}}}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机被恶意骚扰怎么办 织布机开不起来怎么办 座机键盘锁了怎么办 邮箱登录锁死怎么办 标志408油耗高怎么办 gucci白鞋掉皮怎么办 深圳摇不到车牌怎么办 车辆换牌照需要怎么办 商标申请有异议怎么办 唯品会账号被冻结怎么办 易直播回放收费怎么办 手机屏幕被摔了怎么办 xp调分辨率黑屏怎么办 公司logo被盗用怎么办 商标注册证掉了怎么办 商标注册证书丢了怎么办 市场监督管理局罚款怎么办 东莞居住证掉了怎么办 工商注销了税务怎么办 楼道自来水爆了怎么办 工商证没年检怎么办 工行信用卡被锁怎么办 外地卡密码锁了怎么办 营业执照年审过期了怎么办 工商营业执照吊销了怎么办 小规模企业工商年检怎么办 血流变检查偏高怎么办 信誉卡没有邮箱怎么办 税务年报没报怎么办 工商忘记年审了怎么办 营业执照脱审了怎么办 公司年审没有弄怎么办 车检标志丢了怎么办 机动车年检丢了怎么办 汽车保险标志丢了怎么办 车辆年检贴丢失怎么办 车检标贴丢了怎么办 检验标贴丢了怎么办 小车换年检标志怎么办 职称证忘记审验怎么办 联合年报没报怎么办