请问一道题,详细请进入,题目比较长,大概是"某一密码仅使用K、L、M、N、O共5个字母",然后该密码有一堆限定条件

zhengren2008 2008-03-06 11:52:36
某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
(1)密码单词的最小长度是两个字母,可以相同,也可以不同
(2)K不可能是单词的第一个字母
(3)如果L出现,则出现次数不止一次
(4)M不能是最后一个也不能是倒数第二个字母
(5)K出现,则N就一定出现
(6)O如果是最后一个字母,则L一定出现

编写程序实现如下功能:
(1)输出全部符合该要求的2个字符的密码单词;
(2)从键盘获得单词,判断该单词是否符合密码单词规则
...全文
898 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjm2003 2008-03-07
  • 打赏
  • 举报
回复
1、char[] chr=new char[5]{K,L,M,N,O};
条件1:最小两个字母且可以相同,条件2:K不为第一个,问题是只要输出2个字符的!那么K就在后面!条件3,如果有L那L就出现2次或2次+,那么如果中间有L,那么按题目要求就只能是LL,条件4,M不能为倒数第2和第1,那根本就不符合题目,不会出现M,不然M为第1个也就是倒数第2个!条件5,K出现则N出现,综合条件2,那就只有NK这一个组合,条件6:O如果是最后一个字母,则L出现,那么按题目来的话,O只能为第一个,且最后一个不能为M,L,K,也就是只有ON;

综合条件:只有N没有限制前后
第一个字母不能为:K,M ,只能为L,N,O
最后一个字母不能为:O,M,只能为K,L,N
L出现则不只一次,那么只有LL时才符合题目,只有一个组合方法。
如果L为第一或最后,组合为 LL
如果N第一或最后,组合为 NK,NN
如果O为第一,组合为 ON

算出来了就好写了!Console.Write("LL,NK,NN,ON");

2、不知道第二题是否随着第1题来的!如果是就判断键盘输入与第一题的结果是否相符!
if(Keycode==keys.M)
{
messgebox.show....
}


  • 打赏
  • 举报
回复
人力穷举也没问题吧
vrhero 2008-03-07
  • 打赏
  • 举报
回复
这种规则也敢叫密码?
qiyousyc 2008-03-07
  • 打赏
  • 举报
回复
这不是那个网上的试题吗?
kencorn 2008-03-07
  • 打赏
  • 举报
回复
2个字符的密码单词 一共也就25种情况,一个一个判断下来就好了。

别的一条一条验证啊 感觉没什么难度啊???
如果是加个最大长度,要求随机生成的话会有点难度

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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