C ++程序生成N个密码,每个密码的长度为M
这是一个C++程序,用于生成N个密码,每个密码的长度为M。
算法
Begin
Take the length of password as input.
function permutation() generate random passwords:
/* Arguments
A pointer array a.
Total Number of random numbers m.
Length of the password s.
*/
//函数主体:
if (m == s)
for i = 0 to s-1
Print *(a + i)
else
for i = m to s-1
int tmp = a[m]
a[m] = a[i]
a[i] = tmp
Call permutation(a, m + 1, s)
tmp = a[m]
a[m] = a[i]
a[i] = tmp
End示例
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
void permutation(int *a, int m, int s) {
if (m == s) {
for (int i = 0; i < s; i++) {
cout << *(a + i);
}
cout << endl;
} else {
for (int i = m; i < s; i++) {
int tmp = a[m];
a[m] = a[i];
a[i] = tmp;
permutation(a, m + 1, s);
tmp = a[m];
a[m] = a[i];
a[i] = tmp;
}
}
}
int main(int argc, char **argv) {
cout << "Enter the length of the password: ";
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
a[i] = rand() % 10; //randomly generate numbers
}
cout <<"随机数是:" <<endl;
for (int i = 0; i < n; i++) {
cout<<a[i] <<endl;
}
cout << "The Passwords are: "<<endl;
permutation(a, 0, n);
}输出结果
Enter the length of the password: 4 随机数是: 1740T he Passwords are: 1740 1704 1470 1407 1047 1074 7140 7104 7410 7401 7041 7014 4710 4701 4170 4107 4017 4071 0741 0714 0471 0417 0147 0174
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短