生成由"a-z"26 位字母组成的 ,五位长度的所有字符串,不限语言,不限方法!

2014-09-12 15:10:49 +08:00
 xming
8149 次点击
所在节点    问与答
62 条回复
minix
2014-09-12 16:20:47 +08:00
linux命令符输入 < /dev/urandom LC_CTYPE=C tr -dc a-z | head -c5
hahastudio
2014-09-12 17:00:20 +08:00
@toctan 貌似 LZ 要的是组合?
zhs227
2014-09-12 17:28:01 +08:00
@hahastudio 用node运行了一把楼主的脚本,生成的是排列。
ruby的结果是一样的。
hahastudio
2014-09-12 17:30:17 +08:00
@zhs227 LZ 给脚本了?
zhs227
2014-09-12 17:36:10 +08:00
@hahastudio 汗,看错了,运行的是一楼的脚本。

个人理解,abcde和acbde不应该理解为同一个字符串,另外楼主要求长度一定为5.
hahastudio
2014-09-12 17:44:54 +08:00
@zhs227 主要是不知道 LZ 指的这个“无序的” 是什么
我觉得应该指的是组合= =
jevonszmx
2014-09-12 18:28:54 +08:00
```php


# 不管有木有重复的
for($i = 0;$i < 5;$i ++){ echo chr(rand(97,122)); }

# 不能有重复的

$chars = array();
for($i = 97;$i <= 122;$i ++){
$chars = array_unique($chars);
if (5 == count($chars)) {
break;
}
$chars[] = chr(rand(97,122));
}
$chars = implode('', $chars);
echo($chars);

```
orzfly
2014-09-12 18:33:54 +08:00
@toctan [*'aaaaa'..'zzzzz']
billlee
2014-09-12 18:52:34 +08:00
char str[] = "aaaaa";
while(str[0] <= 'z'){
printf("%s\n", str);
for(int i=4; i>=0; i--){
str[i]++;
if(str[i] > 'z'){
str[i] = 'a';
}else{
break;
}
}
}
ffffwh
2014-09-12 18:59:29 +08:00
排列组合嘛,好像够资格上算法书了。
当然库函数就。。。
feiyuanqiu
2014-09-12 20:22:01 +08:00
for ($i = 'a'; $i <= 'zzzzz'; $i++) {
var_dump($i);
}
lightening
2014-09-12 20:34:17 +08:00
@zhs227 组合的话 Ruby:

('a'..'z').to_a.combination(5).map(&:join)
feiyuanqiu
2014-09-12 20:39:44 +08:00
31楼的回复有问题,我改了一下...但是现在有需求要做,待会才有时间调试...
jesse_luo
2014-09-12 21:19:41 +08:00
#include <stdio.h>

#define LEN 5

void gen(char *str, int last) {
char i;
for (i = 'a'; i <= 'z'; i++)
{
*str = i;
if (0 != last) gen(str+1, last-1);
else printf("%s\n", str-LEN+1);
}
}

int main() {
char str[LEN];
gen(str, LEN-1);
}

c的……
feiyuanqiu
2014-09-12 21:25:08 +08:00
for ($i = 'aaaaa'; $i <= 'zzzzz'; $i++) {
var_dump($i);
}
好了,php的
jucelin
2014-09-12 21:25:40 +08:00
题主要的是 “五位长度的所有字符串” ,楼上们提供的有点不对题吧
P233
2014-09-12 21:30:46 +08:00
蛋疼的 Sass 版,不过不是字符串

P233
2014-09-12 21:35:04 +08:00
打错了 22 行 $2 应该是 $e
feiyuanqiu
2014-09-12 21:42:19 +08:00
@P233 终于遇见一个用 birds of paradise 主题的了...有品位!
P233
2014-09-12 22:01:56 +08:00
@feiyuanqiu 一直觉得这个看着比较舒服,设计也很合理 :)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/133080

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX