今天遇到一个题,要求根据 a-z0-9 这些字符穷举出所有的可能的密码,搞了搞,代码如下
#include <stdio.h>
#include <string.h>
#define PWD_LEN (3)
char table[] = "abcdefghijklmnopqrstuvwxyz0123456789";
int table_len = strlen(table);
void f(char pwd[], int curr) {
if (curr == PWD_LEN) {
printf("%sn", pwd);
} else {
for (int i=0; i<table_len; i++) {
pwd[curr] = table[i];
f(pwd, curr+1);
}
}
}
int main() {
char pwd[PWD_LEN+1];
pwd[PWD_LEN] = '\0';
f(pwd, 0);
return 0;
}
输出就不贴了,太长了