计蒜客T1461——校验信用卡号码

2023-10-28

 如题,本题需要解决的本质就是多个字符串转换为整型数据的过程。主要的考点在于如下3个:

1.循环输入多个字符串并不间断

2.将字符串处理为整型数据

3.完成对整形数据的检验

上述三个要求通过STL可以很轻松地解决,具体做法写在了代码注释之中。

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
 
void vectorPrint(vector<int> T1)
{
	for(vector<int>::iterator it=T1.begin();it!=T1.end();it++)
		cout<<(*it)<<" ";
	//打印整型vector的方法,没有实际意义,仅仅用来调试	
} 
 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) 
{
	string temp;
	//定义临时目标字符串 
	while (cin>>temp)
	//当输入字符串时,循环就不停止,一直进入并计算 
	{
//		cout<<temp<<endl;
		vector<int> V;
		for(int i=0;i<=temp.size()-1;i++)
		{
			int t=temp[i]-48;
			//将字符串的每一位处理为int型的数据,并且压入int型的vector 
			V.push_back(t);
		} 
//		vectorPrint(V);
		reverse(V.begin(),V.end());
		//逆向操作后,从头开始按照奇数偶数位遍历。 
		int jishu=0,oushu=0,sum=0;
		for(int i=0;i<=V.size()-1;i+=2)
		{
			jishu+=V[i];
			//奇数位直接相加 
		} 
		for(int i=1;i<=V.size()-1;i+=2)
		{
			V[i]*=2;
			if(V[i]>=10)
				V[i]-=9;
			oushu+=V[i];
			//偶数位判断*2是否大于10,大于10需要减9 
		}
		sum=jishu+oushu;
		//求和后判断是否可以整除10,完杀 
		if(sum%10==0)
			cout<<"Pass"<<endl;
		else
			cout<<"Fail"<<endl;
	}
	return 0;
}

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计蒜客T1461——校验信用卡号码 的相关文章

随机推荐

  • 使用jquery做的伸缩菜单

  • 基于wordpress和Sakura主题插件搭建博客网站

    基于wordpress和Sakura主题插件搭建博客网站 1 引言 2 认清现实 3 使用的本地化方法 4 分享自己走的一些弯路 5 硬刚404的余波 6 额外的收获 1 引言 最近 本着试试的想法 想着找一个前端方面的工作 遇到一些招聘软
  • fiddler扩展模拟弱网络环境设置

    今天在qq群中有人问到怎么模拟app弱网络环境 我查了下资料 记得之前做测试的时候是设置fiddler断点 app请求后止于fiddler断点 app一直拿不到响应结果就应该要给出网络请求失败的提示 这种方式太麻烦 对每个接口每次请求都要独
  • 图形学实验六真实感图形算法

    目录 实验六 真实感图形算法 一 实验目的 二 实验内容 三 实验原理 四 实验示范代码 略 五 实验步骤 六 实验结果处理 七 实验注意事项 八 预习与思考题 九 实验报告要求 实验六 真实感图形算法 实验类型 设计型 实验学时 2实验要
  • 解决无法成功完成操作,因为文件包含病毒或潜在的垃圾软件

    解决无法成功完成操作 因为文件包含病毒或潜在的垃圾软件 近日在运行电脑上某一个软件的时候 提示 无法成功完成操作 因为文件包含病毒或潜在的垃圾软件 在网上搜索了半天 百度结果翻了几页 都是说把Windows安全中心的 实时保护 关了 然后把
  • MFC 基础知识:主对话框与子对话框(二)

    仅供使用VS MFC初学者学习 高手莫见笑 接 MFC 基础知识 主对话框与子对话框 一 的内容 在 MFC 基础知识 主对话框与子对话框 一 中Edit Control 编辑框 控件中输出内容 主要是想讲讲在创建的子对话框中如何实现一些操
  • BFS算法解题套路框架(附习题)

    BFS算法解题套路框架 BFS 的核心思想 就是把一些问题抽象成图 从一个点开始 向四周开始扩散 一般来说 我们写 BFS 算法都是用 队列 这种数据结构 每次将一个节点周围的所有节点加入队列 BFS 相对 DFS 的最主要的区别是 BFS
  • 20190711_New_Citation

    Cross Talk Among Reactive Oxygen Nitrogen and Sulfur During Abiotic Stress in Plants https onlinelibrary wiley com doi p
  • Awesome Fine-Grained Image Analysis – Papers, Codes and Datasets

    Awesome Fine Grained Image Analysis Papers Codes and Datasets Table of contents Introduction Tutorials Survey papers Ben
  • LDA(Latent Dirichlet Allocation)主题模型

    LDA于2003年由 David Blei Andrew Ng和 Michael I Jordan提出 因为模型的简单和有效 掀起了主题模型研究的波浪 虽然说LDA模型简单 但是它的数学推导却不是那么平易近人 一般初学者会深陷数学细节推导中
  • Java中对象的引用(Java对象的引用 )

    Java对象的引用 一 概念 什么是Java对象的引用 每种编程语言都有自己的数据处理方式 有些时候 程序员必须注意将要处理的数据是什么类型 你是直接操纵元素 还是用某种基于特殊语法的间接表示 例如C C 里的指针 来操作对象 所有这些在
  • git 001--建本地仓库和远程仓库和拉代码

    要使用Git对我们的代码进行管理 首先需要获得Git仓库 获取Git仓库通常有两种方式 在本地初始化Git仓库 不常用 从远程仓库克隆 常用 一 建本地仓库 方法一 在自己电脑的任意目录下创建一个空目录 例如桌面的aaa 作为我们的本地Gi
  • 新手入门必看MyBatis-Plus&Druid数据源

    MyBatis Plus Druid数据源 我们就一起来了解下Mybatis Plus吧 什么是MyBatis Plus MyBatis Plus的优势 MyBatis Plus简单来说就是在原本的MyBatis的基础上加了Buff或者说是
  • [系统安全] 四十四.恶意代码同源分析及BinDiff软件基础用法

    您可能之前看到过我写的类似文章 为什么还要重复撰写呢 只是想更好地帮助初学者了解病毒逆向分析和系统安全 更加成体系且不破坏之前的系列 因此 我重新开设了这个专栏 准备系统整理和深入学习系统安全 逆向分析和恶意代码检测 系统安全 系列文章会更
  • 外盘期货的几个级别 你到达几级了?

    01 小白 如果开始赔了钱 就收手不做或者学会敬畏市场还好 但如果开始的福利期太顺或者太容易 就及其容易造成信心爆棚 对行情存在 赌 的思想 反而不利于以后的成长 这种情况基本出现在刚刚入市 实盘交易时间短的小白身上 02 筑基期 处在这一
  • 二叉树的扩展——主要方法和基本算法等

    1 求树的高度 思路 二叉树的高度等于左右子树里面的最大高度 int high BtNode ptr if ptr NULL return 0 int L high ptr gt lchild int R high ptr gt rchil
  • java.lang.IllegalStateException

    Caused by java lang IllegalStateException The specified child already has a parent You must call removeView on the child
  • 【SQL】保姆级教程:MySQL配置全过程 & 编辑器DBeaver的安装配置

    MySQL 是最流行的关系型数据库管理系统 在 WEB 应用方面 MySQL 是最好的 RDBMS Relational Database Management System 关系数据库管理系统 应用软件之一 文章目录 一 什么是数据库 二
  • 数字水印技术的原理、实现及其应用

    概述 数字水印 是指将特定的信息嵌入数字信号中 数字信号可能是音频 图片或是视频等 数字水印可分为浮现式和隐藏式两种 明水印 visible watermarking 其所包含的信息可在观看图片或视频时同时被看见 盲水印 blind wat
  • 计蒜客T1461——校验信用卡号码

    如题 本题需要解决的本质就是多个字符串转换为整型数据的过程 主要的考点在于如下3个 1 循环输入多个字符串并不间断 2 将字符串处理为整型数据 3 完成对整形数据的检验 上述三个要求通过STL可以很轻松地解决 具体做法写在了代码注释之中 i