C语言编程

疯狂撸串串 2019-01-18 12:16:29
编写程序,1,随机生成指定长度的密码,密码由大写小写字母及数字随机组成。 2,当密码长度为3时,使用穷举法匹配该密码。 3,当密码长度未知时,怎么办 穷举法当for循环层数不能确定时,我想用递归算法解决是否可以。
...全文
66 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻夢之葉 2019-01-18
  • 打赏
  • 举报
回复
如果你密码长度已经限制在一定范围,而且比较小(16位或32位),递归应该是没有什么问题的,毕竟算法的体量和需要使用的栈内存很小
幻夢之葉 2019-01-18
  • 打赏
  • 举报
回复
匹配该密码是指跟什么数据比较?数量多大?
还有不是很清楚你目的是要生成字符串还是仅仅比较字符串

(1)比较字符串
如果数据量很大,做两个Key,一个Key为密码长度,一个Key为密码本身,并且是有序存储
先比较长度再比较密码本身(二分查找或快速查找)

(2)生成字符串
先把可能的字符串字符用数组指出,然后随机0~(N-1)的整形数,直接提取字符数组对应的下标的字符填充
循环次数等于要生成的字符串长度
然后根据(1)的办法匹配数据库,如果已经存在再次调用(2)生成一个新的个字符串
lin5161678 2019-01-18
  • 打赏
  • 举报
回复
不用递归
也不用嵌套多层for
一层循环就好了
十进制 转换 62进制
遍历
自信男孩 2019-01-18
  • 打赏
  • 举报
回复
用递归是可以的,但是递归也有其弊端。因为递归是不停的申请自身函数栈,若是无穷或者特别多次的递归调用,可能会导致栈溢出。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧