C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

それぞれ長さMのN個のパスワードを生成するC++プログラム


これは、それぞれ長さMのN個のパスワードを生成するC++プログラムです。

アルゴリズム

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.
   */
   // Body of the function:
   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 <<"Random Numbers are:" <<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
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

  1. 乱数を生成するC++プログラム

    C++を使用して乱数を生成する方法を見てみましょう。ここでは、0からある値の範囲のランダムな数値を生成しています。 (このプログラムでは、最大値は100です。) この操作を実行するために、srand()関数を使用しています。これはCライブラリにあります。関数voidsrand(unsigned int seed) 関数randで使用される乱数ジェネレーターをシードします 。 srand()の宣言は以下のようになります void srand(unsigned int seed) シードと呼ばれるパラメータを取ります。これは、疑似乱数ジェネレータアルゴリズムによってシードとして使用される整数

  2. C++のCHAR_BIT

    CHAR_BITは、charのビット数です。これは、C++言語の「limits.h」ヘッダーファイルで宣言されています。 1バイトあたり8ビットです。 これがC++言語のCHAR_BITの例です 例 #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a = CHAR_BIT*sizeof(x);    stack<bool> s;    cout << "T