六大门派身份识别 (20 分)
武林中六大门派“少林派、武当派、昆仑派、峨嵋派、华山派、崆峒派”的弟子众多,他们行走江湖,需要能够互相识别身份,以免被邪门歪道的恶人冒充。
六大门派(以下简称“正派”)的掌门人聚在一起闭关半年,设计出来这样一个识别方式:
每名正派弟子均有一个身份验证码,并熟知验证规则。当一名正派弟子遇见另一名自称为正派弟子的人,就要求对方报出身份验证码。若验证无误,则交个朋友;若验证失败,说明对方为假冒的,立即开战(当然,如果打不过就溜……)
验证码是这样的:
- 由9位数字组成;
- 首位数字表示所在的门派编号,少林派、武当派、昆仑派、峨嵋派、华山派、崆峒派依次使用
0
-5
表示; - 接下来4位数字记为整数
a
,最后4位数字记为整数b
; (若a、b不满4位,则左边添0
补位)
例如:000100015
即表示少林派、a
是10
,b
是15
验证规则是这样的:
- 找出整数
a
和整数b
之间(包括a和b)的所有素数p1、p2、p3、... (提示: a、b均可以是0-9999
的任何数) - 计算所有这些素数的各位数字之和
sum
(若a、b之间没有素数,则sum
计为0
) - 求出
sum
除以6
的余数r
- 若余数r与首位门派编号相同,则验证通过,否则为验证失败
例如,验证码000100015
可以通过验证,因为10-15
之间的素数有11
、13
,其各位数字之和为(1+1+1+3) = 6
,6除以6的余数为0
,与门派编号0
相同。
现在给你一些身份验证码,请进行验证、判断是正派弟子还是恶人冒充。
输入格式:
第一行给出1个不超过100
的正整数N
;
接下来N
行,每行给出1个9位的验证码.
提示: C语言的scanf( )函数第一个参数若使用 "%d"
可以读取一个十进制整数,若使用 "%5d"
则可以读取一个5位十进制整数。这条提示或可帮助你对此题进行输入。
输出格式:
对每一个验证码,在一行中给出验证结果:
- 如果验证通过,先给出所在门派,然后是素数各位数字之和
sum
,中间空1格。 六大门派依次使用拼音表示:shaolin
,wudang
,kunlun
,emei
,huashan
,kongtong
; - 如果验证失败,则要开战了,输出
Fighting!
输入样例1:
3
000200022
219492021
202230666
输出样例1:
shaolin 0
Fighting!
kunlun 986
输入样例2:
3
500320050
400900105
500100002
输出样例2:
Fighting!
huashan 22
kongtong 17
源代码
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
bool prime(int n)
{if(n==1)return false;for(int i = 2;i <= sqrt(n);i ++ ){if(n%i==0)return false;}return true;
}
int primesum(int a,int b)
{int sum=0;for(int i = a;i <= b;i ++ ){if(prime(i)){int t=i;while(t!=0){sum+=t%10;t/=10;}}}return sum;
}
int main()
{int n;cin>>n;for(int i = 1;i <= n;i ++ ){int flag,a,b;scanf("%1d%4d%4d",&flag,&a,&b);if(a>b)swap(a,b);int sum=primesum(a,b);int r=sum%6;if(r==flag){switch(flag){case 0:cout<<"shaolin"<<' '<<sum;break;case 1:cout<<"wudang"<<' '<<sum;break;case 2:cout<<"kunlun"<<' '<<sum;break;case 3:cout<<"emei"<<' '<<sum;break;case 4:cout<<"huashan"<<' '<<sum;break;case 5:cout<<"kongtong"<<' '<<sum;break;}cout<<endl;}else{cout<<"Fighting!"<<endl;}}return 0;
}
六大门派身份识别 (20 分)相关推荐
- 7-11 六大门派身份识别 (15 分)
7-11 六大门派身份识别 (15 分) 武林中六大门派"少林派.武当派.昆仑派.峨嵋派.华山派.崆峒派"的弟子众多,他们行走江湖,需要能够互相识别身份,以免被邪门歪道的恶人冒充. ...
- C语言 六大门派身份识别
武林中六大门派"少林派.武当派.昆仑派.峨嵋派.华山派.崆峒派"的弟子众多,他们行走江湖,需要能够互相识别身份,以免被邪门歪道的恶人冒充. 六大门派(以下简称"正派&qu ...
- 【Pytorch】常见的人脸身份识别损失函数
[Pytorch]常见的人脸身份识别损失函数 实验环境准备:人脸多角度多光照的图像数据集MUCT(276个受试者)+ MobileNetV3 说明:对于人脸身份数据集MUCT,是少样本数据集,应该使用 ...
- 2020年TI杯电子设计大赛F题及2022年山西省电子设计大赛E题简易无接触温度测量与身份识别装置整体思路及代码
在2022年山西省电子设计大赛选题刚刚公布的时候,我们组本来是想做电源题的,奈何学艺不精,最后转做了这道仪器仪表题,经过几天紧张的制作,写报告,最终也是获得了省一,想要代码和报告文档的可以私聊我或者从 ...
- 实现2020年TI杯大学生电子设计竞赛F题简易无接触温度测量、身份识别与口罩检测装置(未完待续)
声明 本文仅在CSDN发布,其他均为盗版.请支持正版! 正版链接: https://blog.csdn.net/meenr/article/details/109298042 本文目录 *实现2020 ...
- Schnorr身份识别方案
Schnorr身份识别协议是又一个零知识证明协议,相比Fiamt协议有两点不同,一是其安全性依赖于离散对数的困难性,二是该方案使用乘法群,从而可以提前计算了一些参数,减小了证明者实时计算开销,特别适合 ...
- 【Pytorch神经网络实战案例】28 GitSet模型进行步态与身份识别(CASIA-B数据集)
1 CASIA-B数据集 本例使用的是预处理后的CASIA-B数据集, 数据集下载网址如下. http://www.cbsr.ia.ac.cn/china/Gait%20Databases%20cH. ...
- 企业数字化转型:数字化江湖的六大门派
源:谈数据, 作者:石秀峰 我是一个金庸迷,"飞雪连天射白鹿,笑书神侠倚碧鸳",在金庸的武侠世界里,有缠绵悱恻的爱恨情仇,也有刀光剑影的江湖天下. 小的时候总幻想自己成为一个仗剑天 ...
- webservice 安全性 对外_WebService安全性的几种实现方法【身份识别】
相信很多开发者都用过WebService来实现程序的面向服务,本文主要介绍WebService的身份识别实现方式,当然本文会提供一个不是很完善的例子,权当抱砖引玉了. 首先我们来介绍webservic ...
最新文章
- winform利用CefSharp调用google浏览器内核ChromiumWebBrowser,与JS交互
- Docker 容器技术 — 容器网络
- XML 解析错误:XML 或文本声明不在实体的开头位置,有效的解决方法
- quot;《 Serial Drivers 》by Alessandro Rubiniquot; 学习笔记
- 高新面试系列 性格篇
- uboot中变量env(收集)
- mysql表变量临时表_表变量和临时表详解
- java子类和父类实例_java中父类与子类之间的转换示例
- 提高开发效率,eclipse的常用快捷键、旁门左道、系统错误小贴士
- 调查:受经济危机影响 巴西民众搬家意愿提升
- qwidget设置背景颜色_Python+PyQt编程示例:设置窗口背景色及分割条颜色
- bzoj2705 [SDOI2012]Longge的问题
- python print%s s_python - print(%s's %s is %s. % \) 有具体代码,请问这种怎么解释?
- Android SDK 无法连接到GOOGLE 下载安装包
- 个人电脑检查显示的项目
- java转码工具应用程序_java转码工具native2ascii.exe的使用方法
- python--模拟掷骰子游戏
- 暑假闲着没事第一弹:基于Django的长江大学教务处成绩查询系统
- CHM文件的搜索功能帮助(摘自MSDN).
- rem 和 em 的区别
热门文章
- 抖音小店怎么运营?精细化运营是趋势,也是弯道超车的机会
- 社交网络分析重要概念简介、相关资料和前沿研究(持续更新ing...)
- 【目标检测】基于yolov5的交通标志检测和识别(附代码和数据集)
- java foreach 遍历map_java中遍历map的几种方法
- java面试总结点(1)
- Tensorflow 2.x(keras)源码详解之第十一章:keras损失函数及自定义损失函数
- 线程安全第一期○CSA乐观锁
- 智能网联模拟智慧交通综合实践开源平台
- 客服对于网店的重要性
- Java网络爬虫入门:第01课:网络爬虫原理