题解 | #密码强度等级#

密码强度等级

http://www.nowcoder.com/practice/52d382c2a7164767bca2064c1c9d5361

#include <iostream>
#include <cstring>

using namespace std;

int main() {
    string str1;
    int count = 0;
    cin >> str1;

    if (str1.size() <= 4) count = 5;
    else if (str1.size() <= 7) count = 10;
    else count = 25;

    int upper = 0, lower = 0, number = 0, symbol = 0;
    for (int i = 0; i < str1.size(); i++) {
        if (str1[i] >= 'A' && str1[i] <= 'Z') ++upper;
        else if (str1[i] >= 'a' && str1[i] <= 'z') ++lower;
        else if (str1[i] >= '0' && str1[i] <= '9') ++number;
        else ++symbol;
    }

    if (lower) count += 10;
    if (upper) count += 10;

    if (number == 1) count += 10;
    else if (number > 1) count += 20;

    if (symbol == 1) count += 10;
    else if (symbol > 1) count += 25;

    if (upper && lower && number && symbol) count += 5;
    else if ((upper || lower) && number && symbol) count += 3;
    else if ((upper || lower) && number) count += 2;

    if (count >= 90) cout << "VERY_SECURE";
    else if (count >= 80)
        cout << "SECURE";
    else if (count >= 70)
        cout << "VERY_STRONG";
    else if (count >= 60)
        cout << "STRONG";
    else if (count >= 50)
        cout << "AVERAGE";
    else if (count >= 25)
        cout << "WEAK";
    else if (count >= 0)
        cout << "VERY_WEAK";

    return 0;
}
全部评论

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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