Advertisement
AlexDanilin

Урок 7-2: Опасности экспоненты

Aug 2nd, 2023
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. template <typename F>
  7. string BruteForce(F check) {
  8.     // верните строку str, для которой check(str) будет true
  9.     string str = "ABCDE";
  10.  
  11.     for (str[0] = 'A'; str[0] <= 'Z'; ++str[0]) {
  12.         for (str[1] = 'A'; str[1] <= 'Z'; ++str[1]) {
  13.             for (str[2] = 'A'; str[2] <= 'Z'; ++str[2]) {
  14.                 for (str[3] = 'A'; str[3] <= 'Z'; ++str[3]) {
  15.                     for (str[4] = 'A'; str[4] <= 'Z'; ++str[4]) {
  16.                         if (check(str)) {
  17.                             return str;
  18.                         }
  19.                     }
  20.                 }
  21.             }
  22.         }
  23.     }
  24.     return {};
  25. }
  26.  
  27. int main() {
  28.     string pass = "ARTUR"s;
  29.     auto check = [pass](const string& s) {
  30.         return s == pass;
  31.     };
  32.     cout << BruteForce(check) << endl;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement