当前位置: 首页 > news >正文

【pta】1031 查验身份证

题目

1031 查验身份证

思路

把权值存入数组a中,把M存入数组b中。对于没有错误的情况,设置一个flag变量,只要有不合格的输出,就把值设为1。

代码

#include<iostream>
using namespace std;
int a[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };
int b[11] = {1,0,10,9,8,7,6,5,4,3,2};
bool istrue(string s)
{
	int sum = 0;
	for (int i = 0;i < s.size()-1;i++)
	{
		if (!isdigit(s[i]))
			return false;
		sum = sum + a[i] * (s[i] - '0');
	}
	if ((sum % 11) == 2)
	{
		if (s[17] != 'X')
			return false;
	}
	else
	{
		if (b[sum % 11] != s[17]-'0')
			return false;
	}
	return true;
}
int main()
{
	int n;
	cin >> n;
	string s;
	int flag = 0;
	for (int i = 0;i < n;i++)
	{
		cin >> s;
		if (!istrue(s))
		{
			cout << s << endl;;
			flag = 1;
		}
	}
	if (flag == 0)
		cout << "All passed";
	return 0;
}

相关文章:

  • 使用并行计算优化对拍
  • mmseg的decode_heads解析:理解语义分割解码器设计
  • ubuntu22.04下Meshlab打开obj文件闪退——使用Appimage并放入收藏夹中
  • LLM参数高效微调技术 PRFT
  • Qt QOCI driver available but not loaded(可用但未加载)
  • MC9S12单片机上电初始化过程及BOOTLOADER分析
  • C++编程:进阶阶段—1内存模型
  • 【机器学习】应用梯度下降法训练线性回归算法模型
  • 玩转python: 深度解析Python高阶函数及推导式
  • 【UCB CS 61B SP24】Lecture 21: Data Structures 5: Priority Queues and Heaps 学习笔记
  • 如何在无图形化界面的服务器上下载百度网盘的超大文件(10GB以上)?
  • RefuseManualStart/Stop增强Linux系统安全性?详解systemd单元保护机制
  • 【时序预测】时间序列有哪些鲁棒的归一化方法
  • PMP项目管理—资源管理篇—5.管理团队
  • PySide(PyQT)的@Slot()、@pyqtSlot()装饰器的作用
  • 【区块链 + 绿色低碳】东方易电城市微电网智能平台 | FISCO BCOS 应用案例
  • 【Java---数据结构】链表 LinkedList
  • 物联网数据中台 数据采集器 边缘盒子三者之间应用思考点
  • Windows10系统构建本地安全私有化的个人知识库——采用DeepSeek+RAGFlow
  • Android中的Content Provider是什么以及它有哪些用途
  • 网站文章排版工具/新闻头条今日要闻10条
  • 北京网站快速排名优化/交换友情链接推广法
  • 西安住房建设局网站首页/百度指数查询移动版
  • 环保设备网站建设模板/拓客软件哪个好用
  • 温州做网站/万网域名查询注册商
  • 网站建设要代码有什么好处/北京seo排名公司