Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгорим. сложение неизвестных чисел / 5 сообщений из 5, страница 1 из 1
07.04.2008, 18:26
    #35240802
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгорим. сложение неизвестных чисел
Доброго времени суток.
Есть задачка:
Задано уравнение вида A + B = C, где A, B и C неотрицательные целые числа, в десятичной записи которых некоторые цифры заменены знаками вопроса (?). Примером такого уравнения является ?2+34=4?. Требуется так подставить вместо знаков вопроса цифры, чтобы это равенство стало верным, либо определить, что это невозможно.

У кого какие есть мысли, нужен хотябы словесный пошаговый алгоритм как это реализовать можно.
Пока что единсвенное приходит на ум заменять вопросы на макисмальное число из десятичной системы подставлять в результат и вычитать слогаемые.
потом сравнивать и рекрусивно уменьшать подставленное число при не удовлетворительном сравнении.
Есть другие идеи?
...
Рейтинг: 0 / 0
07.04.2008, 18:55
    #35240869
zloy den
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгорим. сложение неизвестных чисел
Начать с младших разрядов. Если известно два числа из трех, то третье вычислить не проблема. Если только одно число известно, то скорее всего рекурсивный алгоритм, которым идешь на следующий разряди по результатам уже вычисляешь значение для более младшего.
например ?7+8?=23
7+x=3
Сейчас времени детально объхяснять уже нету. Может завтра
...
Рейтинг: 0 / 0
07.04.2008, 19:02
    #35240882
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгорим. сложение неизвестных чисел
SuSaДоброго времени суток.
Есть задачка:
Задано уравнение вида A + B = C, где A, B и C неотрицательные целые числа, в десятичной записи которых некоторые цифры заменены знаками вопроса (?). Примером такого уравнения является ?2+34=4?. Требуется так подставить вместо знаков вопроса цифры, чтобы это равенство стало верным, либо определить, что это невозможно.

[quot SuSa]У кого какие есть мысли, нужен хотябы словесный пошаговый алгоритм
1. Замени знаки вопроса на неизвестные (x, y, z итп)
2. Представь число как поразрядную сумму (например, ?2+34=4? преобразуй в 10*x+2+34=40+y)
3. Найди решение полученной СЛАУ при ограничениях 0<=x<=9.
...
Рейтинг: 0 / 0
07.04.2008, 19:31
    #35240941
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгорим. сложение неизвестных чисел
Спасибо за ответы. мысль понял дальше разберусь )
P.S.: softwarer - кол-во ответов поражает. Ты тут чего, живешь?
...
Рейтинг: 0 / 0
08.04.2008, 09:23
    #35241492
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгорим. сложение неизвестных чисел
Как вариант рекурсия с простым перебором...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
START(Str) ; * Проверка выражения *
 n pos,i,str,ok
 s pos=$f(Str,"?")- 1 
 q:pos= 0 
 s str=Str
 for i= 0 : 1 : 9  {
	 d CALC
 }
 q
CALC ; Вычисление
 s $e(str,pos)=i
 if str["?" {
	 d START(str)
	 q
 }
 if @str {
	 w !,str
 }
 q
Вот пример работы
Код: plaintext
1.
2.
3.
OCZ>d START^tmp("?2+34=4?")
 
 12 + 34 = 46 
OCZ>
----------
Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгорим. сложение неизвестных чисел / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]