DevLab

Alfametika Tapmacası

Çətin
mathstringbacktrackingbrute force
3000 ms
256 MB

Sizə bir alfametika (hərf-rəqəm) tapmacası verilir və düzgün həlli tapmaq tələb olunur.

Alfametika elə bir tapmacadır ki, burada riyazi ifadədəki sözlərin hər bir hərfi müəyyən bir rəqəmlə əvəz olunur. Məsələn, SEND + MORE = MONEY ifadəsini nəzərdən keçirək:

  S E N D
  M O R E +
-----------
M O N E Y

Bu hərfləri uyğun və düzgün rəqəmlərlə əvəz etdikdə aşağıdakı nəticə alınır:

  9 5 6 7
  1 0 8 5 +
-----------
1 0 6 5 2

Bu həll tamamilə doğrudur, çünki hər bir hərf fərqli bir rəqəmlə əvəz edilib və sözlərin rəqəm qarşılıqları cəmləndikdə riyazi olaraq düzgün bərabərlik (9567 + 1085 = 10652) yaranır.

Qaydalar bunlardır:

  1. Hər bir fərqli hərf fərqli bir rəqəmi (0-dan 9-a qədər) təmsil etməlidir.

  2. Çoxrəqəmli ədədin ilk rəqəmi sıfır (0) ola bilməz (məsələn, 085 yazılışı yolverilməzdir).

Giriş verilənləri: Girişdə tək sətir şəklində alfametika tapmacasının riyazi ifadəsi verilir (məsələn: SEND + MORE = MONEY).

Çıxış verilənləri: Şərtlərə uyğun olan düzgün rəqəm kombinasiyasını taparaq, hərflərin rəqəmlərlə əvəz olunmuş bərabərlik formasını çap edin. Əgər verilmiş ifadənin heç bir həlli yoxdursa, ekrana xəta və ya "null" mesajı çıxarın.

1Nümunə 1:
Giriş:
I + BB = ILL
Çıxış:
1 + 99 = 100
2Nümunə 2:
Giriş:
ACA + DD = BD
Çıxış:
null

Məhdudiyyətlər

  • İfadədəki fərqli hərflərin sayı maksimum 10 ola bilər (çünki yalnız 10 fərqli rəqəm var).

REDAKTOR
Giriş edin
Giriş:
I + BB = ILL
Çıxış:
1 + 99 = 100