問78
頻出度★★☆
4文字のパスワードに関して,0~9の数字だけを使用した場合に比べ,0~9の数字の他に a~f の英小文字6文字も使用できるようにした場合は,組合せの数はおよそ何倍になるか。
这道题的解析和你的作答记录。
4文字のパスワードに関して,0~9の数字だけを使用した場合に比べ,0~9の数字の他に a~f の英小文字6文字も使用できるようにした場合は,組合せの数はおよそ何倍になるか。
1.6 是 16 ÷ 10,也就是仅仅“每一位字符”的倍数。密码有 4 位字符,所以这个倍数要作用于 4 位字符,结果是 1.6 的 4 次方 = 6.5536 倍。这是把单个字符的倍数直接当成了整体倍数的错误。
正解 密码的组合数等于“每一位可使用的字符种类数”的“位数”次方。如果只使用 0~9 的数字,每一位有 10 种字符,因此 4 位就是 10 的 4 次方 = 10,000 种。在此基础上加入 a~f 这 6 个字母后,每一位变为 10 + 6 = 16 种,4 位就是 16 的 4 次方 = 65,536 种。倍数为 65,536 ÷ 10,000 = 6.5536,约为 6.6 倍。因此正确答案是イ。另外,16 ÷ 10 = 1.6 是每一位字符的倍数,它要作用于 4 位字符,所以按 1.6 的 4 次方 = 6.5536 来考虑也能得到相同的结果。
8.7 接近于用“从 16 种中取 4 个的组合数 16C4 = 1,820”除以“从 10 种中取 4 个的组合数 10C4 = 210”所得到的 8.67。但是密码可以重复使用同一个字符,而且排列顺序也要加以区分,因此不能用 nCr,而要按“种类数的位数次方”来计数。这是错误地套用了数学中的组合 nCr。
16.0 就是可使用的字符种类数 10 + 6 = 16 本身,并不是倍数。倍数应当用增加之后的总数 65,536 除以原来的总数 10,000 来求得,为 6.5536 倍。这是把字符的种类数与倍数弄混了的错误。