Advertisement
chevengur

СПРИНТ № 6 | Просто о сложности. Теория быстродействия | Урок 7: Опасности экспоненты (2/2)

Apr 4th, 2024 (edited)
518
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. template <typename F>
  8. string BruteForce(F check) {
  9.     string str = "TABRA";
  10.     for (str[0] = 'A'; str[0] <= 'Z'; ++str[0])
  11.     {
  12.         for (str[1] = 'A'; str[1] <= 'Z'; ++str[1])
  13.         {
  14.             for (str[2] = 'A'; str[2] <= 'Z'; ++str[2])
  15.             {
  16.                 for (str[3] = 'A'; str[3] <= 'Z'; ++str[3])
  17.                 {
  18.                     for (str[4] = 'A'; str[4] <= 'Z'; ++str[4])
  19.                     {
  20.                         if (check(str)) {
  21.                             return str;
  22.                         }
  23.                     }
  24.                 }
  25.             }
  26.         }
  27.     }
  28.     return {};
  29. }
  30.  
  31. int main() {
  32.     string pass = "ARTUR"s;
  33.     auto check = [pass](const string& s) {
  34.         return s == pass;
  35.         };
  36.     cout << BruteForce(check) << endl;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement