русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Решение


Дата добавления: 2015-06-12; просмотров: 653; Нарушение авторских прав


Каждой букве соответствует некоторая цифра, разным буквам соответствуют разные цифры. Необходимо заме­нить буквы цифрами так, чтобы получилось верное ра­венство. Найти все решения (если есть несколько).

Для решения этой задачи применим метод перебора с возвратом. Используем множество S1 для хранения цифр слова муха, причем будем заносить в него цифры последовательно, учитывая уже внесенные цифры. Началь­ное значение S1 − пустое множество. После выбора всех цифр первого слова формируем соответствующее число и находим число, соответствующее слову СЛОН. Выделяем цифры СЛОНа (множество S2), и если слова состоят из разных цифр (то есть пересечение S1 и S2 пустое) и все цифры СЛОНа разные, то выводим реше­ние на экран. Далее удаляем из множества S1 послед­нюю внесенную цифру и пытаемся выбрать еще одно ее значение. Таким образом, мы перебираем все возможные варианты и выводим на экран только те, которые удовлетворяют равенству.

Заметим, что букве “М” в слове МУХА может соот­ветствовать цифра от 1 до 4, а букве “А” в этом же слове не может соответствовать 0.

Ниже приводится одно из решений.

Program Example_143;

Type mn=Set Of 0..9;

Var m, y, x, a: 0..9; {цифры числа МУХА}

n1, n2: Integer; {числа МУХА и СЛОН}

a1, a2, a3, a4: 0..9;

{цифры числа СЛОН}

s1, s2: mn;

{для хранения цифр каждого из чисел}

Procedure Print (x,у: Integer);

{вывод решения в виде ребуса}

Begin

Writeln(x:5);

Writeln('+');

Writeln(x:5);

Writeln(' _____');

Writeln(y:5);

End;

Begin

s1:=[ ]; s2:=[ ];

For m:=1 To 4 Do

Begin

s1:=s1+[m];

{заносим первую использованную цифру}

For у:=0 To 9 Do {если эта цифра не

была еще взята, то добавляем ее во

множество цифр числа МУХА и выбираем

цифру для следующей буквы}

If Not (у in s1) Then



Begin

s1:=s1+[y];

For x:=0 To 9 Do

If Not (x in s1) Then

Begin

s1:=s1+[x];

For a:=1 To 9 Do

If Not (a in s1) Then

Begin

s1: =s1+[a];

n1 :=1000*m+100*y-10*x+a;

{число для слова МУХА}

n2:=2*n1;

{число для слова СЛОН}

a1:=n2 Div 1000;

{выделяем цифры СЛОНа}

а2:=n2 Div 100 Mod 10;

a3:=n2 Div 10 Mod 10;

a4:=n2 Mod 10;

s2:=[a1, a2, a3, a4];

{множество цифр СЛОНа}

{если слова состоят из разных

цифр и в слове СЛОН нет

одинаковых букв, то выводим

решение ребуса на экран}

If (s1*s2=[ ]) And

([al]*[a2]*[a3]*[a4]=[ ])

Then Print(n1, n2);

s1:=s1-[a];

{удаляем занесенную цифру}

End;

s1:=s1-[x];

End;

s1:=s1-[y];

End;

s1:=s1-[m];

End;

Readln;

End.

 



<== предыдущая лекция | следующая лекция ==>
Решение | КОМБИНИРОВАННЫЙ ТИП ДАННЫХ (ЗАПИСИ)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.171 сек.