IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> помогите решить, я знаю что для вас это не составит труда
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Заменить буквы цифрами так чтобы соотношение оказалось верным(одинаковым буквам соотведствуют одинаковые цифры, разным - разные)

ХРУСТ*ХРОХО=рррррррррр
это примет где рррррррр-это числа
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


парни я чё то не могу разобраться. помогите плиз
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(asxc @ 12.05.2009 21:21) *
парни я чё то не могу разобраться. помогите плиз
В детстве я ужасно не любил такие ребусы. Их публиковали в разных журналах, типа Науки и Жизни. Как-то было непонятно, зачем на это время тратить..

Вот, смотри. На блюдечке. С голубой каемочкой.
var
i,h,r,u,s,t,g,o: byte;
a: set of byte;
hrust,grohot,rrr: Int64;

begin
for r:=1 to 9 do begin
a:=[r];
rrr:=r;
for i:=1 to 10 do rrr:=rrr*10+r;
for h:=0 to 9 do if not (h in a) then begin
a:=a+[h];
for u:=0 to 9 do if not (u in a) then begin
a:=a+[u];
for s:=0 to 9 do if not (s in a) then begin
a:=a+[s];
for t:=0 to 9 do if not (t in a) then begin
a:=a+[t];
for g:=0 to 9 do if not (g in a) then begin
a:=a+[g];
for o:=0 to 9 do if not (o in a) then begin
hrust:=(((h*10+r)*10+u)*10+s)*10+t;
grohot:=((((g*10+r)*10+o)*10+h)*10+o)*10+t;
if hrust*grohot=rrr then WriteLn(hrust,'*',grohot,'=',rrr);
end;
a:=a-[g]
end;
a:=a-[t]
end;
a:=a-[s]
end;
a:=a-[u]
end;
a:=a-[h]
end
end
end.

Единственное "но": кажется, в ТР нету типа Int64.. Так что, компилируй FPC или Delphy smile.gif.

Добавлено через 18 мин.
Собственно, как выясняется, условие различности всех букв - лишнее. Без него все равно единственное решение. Так что программа существенно укорачивается:
var
i,h,r,u,s,t,g,o: byte;
hrust,grohot,rrr: Int64;

begin
for r:=1 to 9 do begin
rrr:=r;
for i:=1 to 10 do rrr:=rrr*10+r;
for h:=0 to 9 do for u:=0 to 9 do for s:=0 to 9 do for t:=0 to 9 do for g:=0 to 9 do for o:=0 to 9 do begin
hrust:=(((h*10+r)*10+u)*10+s)*10+t;
grohot:=((((g*10+r)*10+o)*10+h)*10+o)*10+t;
if hrust*grohot=rrr then WriteLn(hrust,'*',grohot,'=',rrr);
end
end
end.

Считает чуть дольше, но все равно достаточно быстро (у меня этот вариант примерно секунду работает).


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 30.12.2025 7:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name