密碼驗證合格程式

2021-08-03 14:12:43 字數 1112 閱讀 1456

密碼要求: 

1.長度超過8位

2.包括大小寫字母.數字.其它符號,以上四種至少三種

3.不能有相同長度超2的子串重複

說明:長度超過2的子串

一組或多組長度超過2的子符串。每組佔一行

如果符合要求輸出:ok,否則輸出ng

示例1

021abc9000

021abc9abc1

021abc9000

021$bc9000

ok

ngng

ok

解題思路

對於第乙個要求,只要判斷輸入的字串長度即可。需要注意的是,其他字元可能包括空格,因此要用getline來輸入。

對於第二個要求,只要設定四個int型變數,分別表示四種型別的字元是否存在即可。四個變數的初始化都是0,如果密碼字串中含有某一種變數,則該變數設為1。最後檢查四個變數之和是否超過3即可。

對於第三個要求,只需要檢查是否有長度為3的重複子串。因為如果有長度超過3的重複子串,其中必定含有長度為3的重複子串。要檢查是否有長度為3的重複子串,用兩層迴圈遍歷即可。

**

#include #include using namespace std;

int main()

int upper = 0, lower = 0, number = 0, other = 0;

//大寫,小寫字母,數字,其他字元

for (int i = 0; i < code.size(); i++)

if (upper + lower + number + other < 3) //至少包含三種

bool duplicate = 0; //是否有重複子串

for (int i = 0; i < code.size(); i++) //檢查是否有長度為3的子串重複}}

if (duplicate) //不能有長度超2的重複子串

cout << "ok" << endl;

}return 0;

}

密碼驗證合格程式

描述密碼要求 1.長度超過8位 2.包括大小寫字母.數字.其它符號,以上四種至少三種 3.不能有相同長度超2的子串重複 說明 長度超過2的子串 知識點字串,陣列 執行時間限制 0m記憶體限制0輸入 一組或多組長度超過2的子符串。每組佔一行 輸出如果符合要求輸出 ok,否則輸出ng 每行輸出對應一組輸...

密碼驗證合格程式

密碼要求 1.長度超過8位 2.包括大小寫字母.數字 其它符號 以上四種至少三種 3.不能有相同長度超 2的子串重複 說明 長度超過 2的子串 輸入描述 一組或多組長度超過2 的子符串。每組佔一行 輸出描述 如果符合要求輸出 ok 否則輸出 ng輸入例子 021abc9000 021abc9abc1...

密碼驗證合格程式

1.長度超過8位 2.包括大小寫字母.數字.其它符號,以上四種至少三種 3.不能有相同長度超2的子串重複 說明 長度超過2的子串 一組或多組長度超過2的子符串。每組佔一行 如果符合要求輸出 ok,否則輸出ng 輸入 021abc9000 021abc9abc1 021abc9000 021 bc90...