package main
import "fmt"
func mi(jishu int, zhishu int) int {
result := 1
for i := 1; i <= zhishu; i++ {
result = result * jishu
}
return result
}
func main() {
var x, y int
fmt.Scan(&x, &y)
needNumCount := 1
if mi(26, y) >= x {
needNumCount = 1
} else {
for {
if mi(26, y)*mi(10, needNumCount) >= x {
break
} else {
needNumCount++
}
}
}
fmt.Println(fmt.Sprintf("%d", needNumCount))
}
总结:一个字母有26中可能,有y个字母这有26的y次幂中可能,如果经包含字符就满足了人数,也必须加一个数字才符合条件;如果字母的组合形式不够,则开始考虑加一位数字(乘以10),两位数字乘以100,知道瞒住人数条件X