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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2011, 08:46   #1
quarty
Форумчанин
 
Аватар для quarty
 
Регистрация: 09.10.2010
Сообщений: 124
Восклицание перегнать код из Ruby в Паскаль или Делфи

Код:
1 require 'rubygems'
2 require 'gecoder'
3 
4 # Solves the send+more=money problem: 
5 # http://en.wikipedia.org/wiki/Send%2Bmore%3Dmoney
6 solution = Gecode.solve do
7 # A helper to make the linear equation a bit tidier. Takes a number of
8 # variables and computes the linear combination as if the variable
9 # were digits in a base 10 number. E.g. x,y,z becomes
10 # 100*x + 10*y + z .
11 def equation_row(*variables)
12 variables.inject{ |result, variable| variable + result*10 }
13 end
14 
15 # Set up the variables. 
16 # Let "letters" be an array of 8 integer variables with domain 0..9.
17 # The elements represents the letters s, e, n, d, m, o, r and y.
18 letters_is_an int_var_array(8, 0..9)
19 s,e,n,d,m,o,r,y = letters
20 
21 # Set up the constraints.
22 # The equation must hold.
23 (equation_row(s, e, n, d) + equation_row(m, o, r, e)).must ==
24 equation_row(m, o, n, e, y)
25 
26 # The initial letters may not be 0.
27 s.must_not == 0
28 m.must_not == 0
29 
30 # All letters must be assigned different digits.
31 letters.must_be.distinct
32 
33 # Tell Gecode what variables we want to know the values of.
34 branch_on letters, :variable => :smallest_size, :value => :min
35 end
36 
37 puts 's e n d m o r y'
38 puts solution.letters.values.join(' ')
Output
s e n d m o r y
9 5 6 7 1 0 8 2

send
+ more
------
money

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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делфи или паскаль МАРА90 Помощь студентам 1 09.12.2010 21:47
народ, спасай! нужно с паскаля в СИ 3.1 dos код перегнать al171717 Помощь студентам 0 13.05.2010 14:21
Текст в паскаль или делфи Иннеса Помощь студентам 3 06.12.2009 14:50
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37
Делфи или Паскаль LLIypLLIyH Помощь студентам 9 28.05.2008 18:22