题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

#include <iostream>
using namespace std;

int main() {
    string str;
    while(cin>>str){
        if(str.size()<=8){
            cout<<"NG"<<endl;
            continue; //跳过本次输入循环
        }

        int upper=0,lower=0,num=0,symble=0;
        for(int i=0;i<str.size();i++){
            if(isupper(str[i])){
                upper=1;
            }else if(islower(str[i])){
                lower=1;
            }else if(isdigit(str[i])){
                num=1;
            }else{
                symble=1;
            }
        }
        if((upper+lower+num+symble)<3){
            cout<<"NG"<<endl;
            continue;
        }

        bool flag=false;
        for(int i=0;i<str.size()-6;i++){
            for(int j=i+3;j<str.size();j++){
                if(str.substr(i,3)==str.substr(j,3)){
                    flag=true; //有相等子串
                    break;        
                }
            }
        }
        if(flag){
            cout<<"NG"<<endl;
        }else{
            cout<<"OK"<<endl;
        }
        
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务