Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2022, 17:43   #1
dodikk
Пользователь
 
Регистрация: 04.12.2022
Сообщений: 16
По умолчанию Помогите, пожалуйста, написать код на с++ для решения ребуса

Разработать программу решения ребусов (код на с++): заменить буквы цифрами так, чтобы соотношения оказались верными (одинаковым буквам соответствуют одинаковые цифры, разным – разные, «старшая» буква – не 0):
  • ХРУСТ * ГРОХОТ = РРРРРРРРРРР
МУХА + МУХА + МУХА = СЛОН
dodikk вне форума Ответить с цитированием
Старый 04.12.2022, 18:20   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

В лоб. Возможно число итераций можно сократить, если проанализировать зависимости положений символов
Код:
for (int x = 1; x < 10; ++x)
  for (int p = 1; p < 10; ++p)
    for (int y = 0; y < 10; ++y)
      for (int c = 0; c < 10; ++c)
        for (int t = 0; t < 10; ++t)
          for (int g = 1; g < 10; ++g)
            for (int o = 0; o < 10; ++o)
              if (o != g && o != t && o != c && o != y && o != p && o != x && g != t && g != c && g != y && g != p && g != x && t != c && t != y && t != p && t != x && c != y && c != p && c != x && y != p && y != x && p != x)
                if ((10000 * x + 1000 * p + 100 * y + 10 * c + t) * (100000 * g + 10000 * p + 1010 * o + 100 * x + t) == 11111111111ull * p)
                  std::cout << "X = " << x << "; P = " << p << "; Y = " << y << "; C = " << c << "; T = " << t << "; G = " << g << "; P = " << p << "; O = " << o << "; X = " << x << "; O = " << o << "; T = " << t << " # XPYCT * GROXOT == PPPPPPPPPPP # " << (10000 * x + 1000 * p + 100 * y + 10 * c + t) << " * " << (100000 * g + 10000 * p + 1010 * o + 100 * x + t) << " == " << (11111111111ull * p) << std::endl;
Код:
for (int m = 1; m < 10; ++m)
  for (int y = 0; y < 10; ++y)
    for (int x = 0; x < 10; ++x)
      for (int a = 0; a < 10; ++a)
        for (int c = 1; c < 10; ++c)
          for (int l = 0; l < 10; ++l)
            for (int o = 0; o < 10; ++o)
              for (int n = 0; n < 10; ++n)
                if (n != o && n != l && n != c && n != a && n != x && n != y && n != m && o != l && o != c && o != a && o != x && o != y && o != m && l != c && l != a && l != x && l != y && l != m && c != a && c != x && c != y && c != m && a != x && a != y && a != m && x != y && x != m && y != m)
                  if (3 * (1000 * m + 100 * y + 10 * x + a) == (1000 * c + 100 * l + 10 * o + n))
                    std::cout << "M = " << m << "; Y = " << y << "; X = " << x << "; A = " << a << "; C = " << c << "; L = " << l << "; O = " << o << "; N = " << n << " # MYXA + MYXA + MYXA == CLON # " << (1000 * m + 100 * y + 10 * x + a) << " + " << (1000 * m + 100 * y + 10 * x + a) << " + " << (1000 * m + 100 * y + 10 * x + a) << " == " << (1000 * c + 100 * l + 10 * o + n) << std::endl;
Код:
M = 1; Y = 0; X = 8; A = 9; C = 3; L = 2; O = 6; N = 7 # MYXA + MYXA + MYXA == CLON # 1089 + 1089 + 1089 == 3267
M = 1; Y = 2; X = 6; A = 9; C = 3; L = 8; O = 0; N = 7 # MYXA + MYXA + MYXA == CLON # 1269 + 1269 + 1269 == 3807
M = 1; Y = 6; X = 0; A = 9; C = 4; L = 8; O = 2; N = 7 # MYXA + MYXA + MYXA == CLON # 1609 + 1609 + 1609 == 4827
M = 1; Y = 6; X = 7; A = 8; C = 5; L = 0; O = 3; N = 4 # MYXA + MYXA + MYXA == CLON # 1678 + 1678 + 1678 == 5034
M = 1; Y = 6; X = 8; A = 3; C = 5; L = 0; O = 4; N = 9 # MYXA + MYXA + MYXA == CLON # 1683 + 1683 + 1683 == 5049
M = 1; Y = 6; X = 9; A = 4; C = 5; L = 0; O = 8; N = 2 # MYXA + MYXA + MYXA == CLON # 1694 + 1694 + 1694 == 5082
M = 1; Y = 7; X = 3; A = 6; C = 5; L = 2; O = 0; N = 8 # MYXA + MYXA + MYXA == CLON # 1736 + 1736 + 1736 == 5208
M = 1; Y = 7; X = 4; A = 6; C = 5; L = 2; O = 3; N = 8 # MYXA + MYXA + MYXA == CLON # 1746 + 1746 + 1746 == 5238
M = 1; Y = 7; X = 6; A = 3; C = 5; L = 2; O = 8; N = 9 # MYXA + MYXA + MYXA == CLON # 1763 + 1763 + 1763 == 5289
M = 1; Y = 7; X = 6; A = 8; C = 5; L = 3; O = 0; N = 4 # MYXA + MYXA + MYXA == CLON # 1768 + 1768 + 1768 == 5304
M = 1; Y = 7; X = 8; A = 2; C = 5; L = 3; O = 4; N = 6 # MYXA + MYXA + MYXA == CLON # 1782 + 1782 + 1782 == 5346
M = 1; Y = 7; X = 9; A = 4; C = 5; L = 3; O = 8; N = 2 # MYXA + MYXA + MYXA == CLON # 1794 + 1794 + 1794 == 5382
M = 1; Y = 8; X = 0; A = 9; C = 5; L = 4; O = 2; N = 7 # MYXA + MYXA + MYXA == CLON # 1809 + 1809 + 1809 == 5427
M = 1; Y = 8; X = 2; A = 3; C = 5; L = 4; O = 6; N = 9 # MYXA + MYXA + MYXA == CLON # 1823 + 1823 + 1823 == 5469
M = 1; Y = 8; X = 3; A = 2; C = 5; L = 4; O = 9; N = 6 # MYXA + MYXA + MYXA == CLON # 1832 + 1832 + 1832 == 5496
M = 1; Y = 9; X = 0; A = 8; C = 5; L = 7; O = 2; N = 4 # MYXA + MYXA + MYXA == CLON # 1908 + 1908 + 1908 == 5724
M = 1; Y = 9; X = 3; A = 4; C = 5; L = 8; O = 0; N = 2 # MYXA + MYXA + MYXA == CLON # 1934 + 1934 + 1934 == 5802
M = 2; Y = 0; X = 5; A = 8; C = 6; L = 1; O = 7; N = 4 # MYXA + MYXA + MYXA == CLON # 2058 + 2058 + 2058 == 6174
M = 2; Y = 1; X = 7; A = 8; C = 6; L = 5; O = 3; N = 4 # MYXA + MYXA + MYXA == CLON # 2178 + 2178 + 2178 == 6534
M = 2; Y = 1; X = 8; A = 3; C = 6; L = 5; O = 4; N = 9 # MYXA + MYXA + MYXA == CLON # 2183 + 2183 + 2183 == 6549
M = 2; Y = 3; X = 1; A = 8; C = 6; L = 9; O = 5; N = 4 # MYXA + MYXA + MYXA == CLON # 2318 + 2318 + 2318 == 6954
M = 2; Y = 3; X = 6; A = 8; C = 7; L = 1; O = 0; N = 4 # MYXA + MYXA + MYXA == CLON # 2368 + 2368 + 2368 == 7104
M = 2; Y = 5; X = 3; A = 8; C = 7; L = 6; O = 1; N = 4 # MYXA + MYXA + MYXA == CLON # 2538 + 2538 + 2538 == 7614
M = 2; Y = 6; X = 3; A = 8; C = 7; L = 9; O = 1; N = 4 # MYXA + MYXA + MYXA == CLON # 2638 + 2638 + 2638 == 7914
M = 2; Y = 6; X = 7; A = 3; C = 8; L = 0; O = 1; N = 9 # MYXA + MYXA + MYXA == CLON # 2673 + 2673 + 2673 == 8019
M = 2; Y = 6; X = 9; A = 1; C = 8; L = 0; O = 7; N = 3 # MYXA + MYXA + MYXA == CLON # 2691 + 2691 + 2691 == 8073
M = 3; Y = 0; X = 5; A = 4; C = 9; L = 1; O = 6; N = 2 # MYXA + MYXA + MYXA == CLON # 3054 + 3054 + 3054 == 9162
M = 3; Y = 0; X = 5; A = 8; C = 9; L = 1; O = 7; N = 4 # MYXA + MYXA + MYXA == CLON # 3058 + 3058 + 3058 == 9174
M = 3; Y = 0; X = 8; A = 7; C = 9; L = 2; O = 6; N = 1 # MYXA + MYXA + MYXA == CLON # 3087 + 3087 + 3087 == 9261
M = 3; Y = 1; X = 6; A = 8; C = 9; L = 5; O = 0; N = 4 # MYXA + MYXA + MYXA == CLON # 3168 + 3168 + 3168 == 9504
M = 3; Y = 1; X = 7; A = 6; C = 9; L = 5; O = 2; N = 8 # MYXA + MYXA + MYXA == CLON # 3176 + 3176 + 3176 == 9528
M = 3; Y = 1; X = 8; A = 2; C = 9; L = 5; O = 4; N = 6 # MYXA + MYXA + MYXA == CLON # 3182 + 3182 + 3182 == 9546
M = 3; Y = 2; X = 1; A = 8; C = 9; L = 6; O = 5; N = 4 # MYXA + MYXA + MYXA == CLON # 3218 + 3218 + 3218 == 9654
M = 3; Y = 2; X = 6; A = 7; C = 9; L = 8; O = 0; N = 1 # MYXA + MYXA + MYXA == CLON # 3267 + 3267 + 3267 == 9801
https://godbolt.org/z/TMznT1soE

Последний раз редактировалось macomics; 04.12.2022 в 19:11.
macomics вне форума Ответить с цитированием
Старый 04.12.2022, 20:26   #3
dodikk
Пользователь
 
Регистрация: 04.12.2022
Сообщений: 16
По умолчанию

благодарю!
dodikk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск решения в Excel, ПОМОГИТЕ ПОЖАЛУЙСТА!!! sergeizubencko Microsoft Office Excel 9 29.05.2016 06:38
помогите пожалуйста написать код программы для решения данного примера: ((-1+i*sqrt(3))/2)^2) Лидия_3 Общие вопросы C/C++ 3 09.02.2016 14:15
помогите пожалуйста! нужна программа для решения уравнений. MatrixN2 Помощь студентам 1 06.03.2009 12:29
Помогите пожалуйста с поиском решения! lena-nonamed Microsoft Office Excel 2 17.02.2009 11:13
помогите написать прогу для решения СЛУ kitty Помощь студентам 4 24.06.2008 18:35