Windows 95 金鑰驗證 的题解
记住只在没有思路时使用题解,不要从它复制粘贴代码。请尊重题目和题解的作者。
在解题之前提交题解的代码会导致封禁。
在解题之前提交题解的代码会导致封禁。
作者:
根據題目可以整理出合法的金鑰必須符合以下所有條件:
- 金鑰前 \(3\) 碼必須為 \(000, 111\) 或 \(222\)。
- 後 \(7\) 碼不可出現數字 \(9\)。
- 後 \(7\) 碼每位數加起來的總合必須為 \(7\) 的倍數。
本題只要依序檢查以上條件即可找出正確答案。可以考慮一開始用string
或int
存下題目給定的 \(K\) ,不過要注意如果用int
存的話,在子題 \(2\) 時金鑰開頭可能會出現 \(000\),記得要特別處理。
另外關於驗證條件的第 \(3\) 點,C++
可以用 \(\%7\) \(mod\) 來判斷。
題外話
題敘提到 \(Windows \ 95\) 可不是亂唬爛的,\(Windows \ 95\)的金鑰驗證真的長這樣!,我知道這聽起來有點扯,恭喜你以後安裝\(Windows \ 95\) 不用買金鑰了。
有興趣的可以看看這部影片:https://youtu.be/cwyH59nACzQ
评论