Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ tạo N mật khẩu độ dài M


Đây là chương trình C++ tạo N mật khẩu mỗi mật khẩu độ dài M.

Thuật toán

Begin    Nhập độ dài mật khẩu.    hàm permutation() tạo mật khẩu ngẫu nhiên:    /* Tham số       Mảng con trỏ a.       Tổng số ngẫu nhiên m.       Độ dài mật khẩu s.    */    // Thân hàm:    if (m == s)       for i = 0 to s-1          In *(a + i)    else       for i = m to s-1          int tmp = a[m]          a[m] = a[i]          a[i] = tmp          Gọi permutation(a, m + 1, s)          tmp = a[m]          a[m] = a[i]          a[i] = tmp End

Ví dụ

#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; //tạo ngẫu nhiên số    }    cout <<"Random Numbers are:" <<endl;    for (int i = 0; i < n; i++) {       cout<<a[i] <<endl;    }    cout << "The Passwords are: "<<endl;    permutation(a, 0, n); }

Kết quả

Enter the length of the password: 4 Random Numbers are: 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