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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2014, 15:43   #1
Jane_Air
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 40
По умолчанию Ребус на Делфи

Написать программу для решения ребуса,используя множества.
Помогите пожалуйста или подскажите ход решения.

РАКЕТА + ОРБИТА = КОСМОС
Jane_Air вне форума Ответить с цитированием
Старый 11.01.2014, 15:47   #2
blackstrip
Форумчанин
 
Аватар для blackstrip
 
Регистрация: 21.01.2012
Сообщений: 240
По умолчанию

А я думал, что ребус это когда "антре" и рисуют рядом кота. Получается "антрекот". Или когда еще запятые подрисовывают в конце или начале картинки, чтоб знать сколько букв выкинуть. Или просто картинки на угадывание:


А как из "ракета + орбита" получить "космос" ?
blackstrip вне форума Ответить с цитированием
Старый 11.01.2014, 15:50   #3
Jane_Air
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 40
По умолчанию

Нужно найти все решения,где разные буквы - это разные цифры от 0 до 9
Jane_Air вне форума Ответить с цитированием
Старый 11.01.2014, 15:52   #4
Jane_Air
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 40
По умолчанию

вот пример:
Приклад. Знайти всі розв’язки ребуса МУХА + МУХА =
СЛОН.
Найпростіший спосіб розв’язання — перебрати всі можливі
чотирицифрові числа та перевірити їх на відповідність вказано%
му ребусу. У цій задачі можливі числа належать діапазону
1023..4987 — мінімальне та максимальне чотирицифрові чис%
ла з попарно різними цифрами, які при множенні на 2 дають чо%
тирицифровий результат.
Для кожного числа та його подвоєння створимо множини
цифр; відповідність чисел умові означає, що ці множини мають
по чотири цифри, а їх перетин порожній.
Для реалізації наведеного алгоритму використаємо тип «мно%
жина цифр».
type setDigit = set of 0..9;
Створення множини цифр чотирицифрового числа опишемо
процедурою createSet, у якій цифри виділяються як остачі від
цілочислового ділення на 10 та додаються до множини, що є па%
раметром%змінною.
Кількість елементів у множині цифр обчислимо за допомогою
функції nDigits, яка підраховує, скільки з цифр 0, 1, …, 9 на%
лежать множині цифр.
З використанням наведених підпрограм розв’язання стає оче%
видним.
Код:
program rebus;
 type setDigit = set of 0..9;
procedure createSet(a:longint;
 var M:setDigit);
begin {побудова множини цифр числа a}
 M:=[];
 while a>0 do begin
 M:=M+[a mod 10];
 a:=a div 10;
 end;
end;
function nDigits(M:setDigit):byte;
 var p,i:byte;8 5
begin {підрахунок елементів у множині цифр}
 p:=0;
 for i:=0 to 9 do
 if i in M then inc(p);
 nDigits:=p;
end;
var M1,M2:setDigit; {множини цифр МУХА,СЛОН}
 i:word; {перевіряється як МУХА}
Begin
 For i:=1023 to 4987 do
 begin
 createSet(i,M1);
 if nDigit(M1)=4
 then begin
 createSet(2*i,M2);
 if (nDigit(M2)=4)and(M1*M2=[])
 then writeln(i,'+',i,'=',2*i);
 end;
 end;
End.
Jane_Air вне форума Ответить с цитированием
Старый 11.01.2014, 18:40   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Джейн, Вам стоит сходить в тему:
Криптарифметическая задача

думаю, что там Вы найдёте то, что ищете...


p.s. рекомендую воспользоваться кодом (c) TinMan из данного топика

p.p.s.
РАКЕТА + ОРБИТА = КОСМОС

135823 + 410923 = 546746
135923 + 410823 = 546746
375207 + 139607 = 514814
375607 + 139207 = 514814
found 4 solutions

Последний раз редактировалось Serge_Bliznykov; 11.01.2014 в 18:48.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребус Delphi2010 Василий01 Помощь студентам 3 24.12.2012 16:08
Ребус! prelest' Паскаль, Turbo Pascal, PascalABC.NET 1 30.05.2011 22:59
Ребус Junger Помощь студентам 5 30.05.2011 10:29
Ребус solnze.90 Паскаль, Turbo Pascal, PascalABC.NET 10 11.01.2011 23:23
Множества.Ребус Dar`ka Помощь студентам 2 17.05.2009 21:28