华为机试——验证密码合格
来源:互联网 发布:网络数据分析工具 编辑:程序博客网 时间:2024/06/05 19:12
问题:验证密码合格
密码要求:
1.长度超过8位
2.包含大小写字母,数字,其他符号,以上四种至少三种
3.不能有相同长度超2的子串重复
#include<iostream>#include<string>#include<ctype.h>using namespace std;int LRS(string s) //相同长度超过2的字符串重复{ int count=0,Max=0; int len=s.size(); for(int i=0;i<len;i++) for(int j=i+1;j<len;j++) { int start1=i,start2=j; while(s[start1]==s[start2] && start1<len && start2<len) { count++; start1++; start2++; } if(Max<count) Max=count; } return Max;}bool Strong(string str){ int digit=0,lowAlpha=0,uppAlpha=0,others=0; int num; if(str.size()>8) { for(string::size_type i=0;i<str.size();i++) { if(isdigit(str[i])) digit++; else if(islower(str[i])) lowAlpha++; else if(isupper(str[i])) uppAlpha++; else others++; } num=digit+lowAlpha+uppAlpha+others; if(num>=3) { if(LRS(str)>2) return false; else return true; } } else return false;}int main(){ string input; while(cin>>input) { if(Strong(input)) cout<<"YES"<<endl; else cout<<"NO"<<endl; }}
0 0
- 华为机试——验证密码合格
- 华为机试---密码验证合格程序
- 华为机试-密码验证合格程序
- 【华为机试】密码验证合格程序
- [华为机试练习题]31.密码验证合格程序
- 《华为机试在线训练》之密码验证合格程序
- 华为OJ——密码验证合格程序
- 华为OJ——密码验证合格程序
- 华为机试题:密码验证合格程序
- Java - 华为机试训练 - 密码验证合格程序(正则表达式判断)
- 华为机试在线训练-牛客网(12)密码验证合格程序
- 牛客网_华为机试_020_牛客网_密码验证合格程序
- 华为机试在线训练108题:密码验证合格程序
- 华为oj之密码验证合格程序
- 【华为oj】密码验证合格程序
- 华为OJ(密码验证合格程序)
- 华为oj 密码验证合格程序
- 华为OJ 密码验证合格程序
- KMP算法代码
- UPnP协议编程实践(二)
- 自定义UINavigationBar
- Android学习路径图
- Access到SQL的数据同步
- 华为机试——验证密码合格
- Ubuntu系统中上查看MD5,SHA1
- qt坐标系统见解
- 排序方法:冒泡排序
- Html 字体大小单位 px em pt
- [文章摘要]Semantic Enrichment of Movement Behavior with Foursquare–A Visual Analytics Approach
- 《创业小败局》笔记
- Java toString()方法
- oracle the account is locked