蓝桥信用卡号验证-枚举法应用 JAVA暴解
当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?
其实可以不必这么担心,因为并不是一个随便的信用卡号码
都是合法的,它必须通过Luhn算法来验证通过。
该校验的过程:
1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。
2、从卡号最后一位数字开始,逆向将偶数位数字,
先乘以2(如果乘积为两位数,则将其减去9),再求和。
3、将奇数位总和加上偶数位总和,结果应该可以被10整除。
例如,卡号是:5432123456788881则,奇数位和=35
偶数位乘以2(有些要减去9)的结果:1 6 2 6 1 5 7 7,求和=35。
最后35+35=70 可以被10整除,认定校验通过。
请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。
比如,用户输入:356827027232780
程序输出:成功
【参考测试用例】
356406010024817 成功
358973017867744 成功
356827027232781 失败
306406010024817 失败
358973017867754 失败
思路:看见这个长的数据直接用String类型,接着满足1,2,3条件输出即可。
import java.util.Scanner;public class Demo2信用卡 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String string = sc.nextLine();int index = 1; // 记录奇偶性int count = 0; // 最后的总数for (int i = string.length() - 1; i >= 0; i--) { //逆推if (index % 2 == 1) count += string.charAt(i) - '0'; //奇数else if ((string.charAt(i) - '0') * 2 >= 10) //偶数*2>两位数,用10代替count += ((string.charAt(i) - '0') * 2 - 9); //题意-9elsecount += (string.charAt(i) - '0') * 2; //不是两位数,就正常*2index++;}if (count % 10 == 0) System.out.println("成功"); //被10整除,成功else System.out.println("失败");}
}
小剧场:只要你不停止,走慢一点没关系。
蓝桥信用卡号验证-枚举法应用 JAVA暴解相关推荐
- 蓝桥信用卡号验证 JAVA纯暴力破解
1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字, 先乘以2(如果乘积为两位数,则将其减去9),再求和. 3.将奇数位总和加上偶数位总和, ...
- 蓝桥杯十届年号字串 JAVA暴解
小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26.对于 27 以上的数字,小明用两位或更长位的字符串来对应, 例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ ...
- [蓝桥杯][java]信用卡号验证问题
import java.util.Scanner; /* [编程大题]信用卡号验证 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担 心,因为并不是一个随便的信用卡号码都是合 ...
- 第十届 蓝桥杯样题 —— 信用卡号验证
[编程大题]信用卡号验证 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过. 该校验的过程: 1 ...
- 信用卡Java_信用卡号验证Java程序
给定一个长号,其中包含信用卡号的位数:任务是通过程序查找信用卡号是否有效. 为了检查信用卡是否有效,以下是我们必须确认的声明结果. 信用卡号必须为13至16位数字,并且必须以以下数字开头.所有签证卡从 ...
- 信用卡号校验java_ES reduce 一行代码解决信用卡号验证问题
背景 女票 JAVA 课程有一道作业题,验证信用卡号是否合法. 实验作业longer 9月30号 星期五 12:09 实验1:验证信用卡号码 Lab Project: Validating Credi ...
- c语言信用卡号验证,Javascript验证Visa和MasterCard信用卡号的方法
本文实例讲述了Javascript验证Visa和MasterCard信用卡号的方法.分享给大家供大家参考.具体实现方法如下: visa验证: Visa Example function luhnChe ...
- 蓝桥试题 算法提高 冒泡法排序 JAVA
资源限制 时间限制:1.0s 内存限制:512.0MB 输入10个数,用"冒泡法"对10个数排序(由小到大)这10个数字在100以内. 样例输入 1 3 6 8 2 7 9 0 4 ...
- 枚举法 之Java实现凑硬币
问题? 如何利用1元五元十元凑硬币 Scanner in=new Scanner(System.in);int amout ;amout=in.nextInt();for(int one =0;one ...
最新文章
- 作价20亿美元!英特尔收购以色列AI芯片公司Habana Labs
- python图形缝隙填充_Python,如何缝合图像哪些重叠区域?
- 贝叶斯厉害在哪里,相当牛的文章
- 天眼探空经济发展_【砥砺奋进的五年】观神州 惠民生:“天眼”探空惊艳全球...
- 从一盏路灯,看亿万级联接的智能之路
- 十大经典排序算法2(Python版本)
- Thread 1: signal SIGABRT
- vs2008+sp1
- 如何使用迅雷下载电骡的资源
- php怎么把时间精确到毫秒,如何使用php获取当前时间戳、日期并精确到毫秒
- 阿里巴巴大数据之路-大数据领域建模综述
- 改了!教育部核准这所985高校更改简称!网友:华科大终于来了
- 达叔走了,别只发声感叹就完了
- 发力1小时到家服务,山姆与京东到家共建前置仓获10倍坪效、60%月复购率...
- android 遥控器方向,android万能遥控器之一--前言及发射部分的简单实现
- Biotin-PEG-NH2 生物素PEG氨基
- type转HDMI2.0方案|typec转HDMI 4K60Hz电路|CS5265 typec单转优势方案
- word格式化字符技巧
- 湖南省第六届程序设计竞赛---弟弟的作业
- 第3天-Jenkins详解
热门文章
- MapStruct系列(5)-映射器数据类型转换详解
- 论文阅读:《POI: Multiple Object Tracking with High Performance Detection and Appearance Feature 》
- 程序员干累了,当个培训讲师?我亲身试水,讲讲感受
- VBS 文本歌词粤语拼音翻译
- dw html压缩文件,如何压缩css文件?
- UI设计学习路线是什么?
- 免费领取三个月苹果ARCADE订阅教程
- 单片机炫彩灯实训报告_51单片机呼吸灯实验报告.doc
- mysql table plugin_MySQL 启动报错Table 'mysql.plugin' doesn't exis(转载)
- 基于STM32的门禁系统源码分享