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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2012, 18:44   #1
catchmeifyoucan
Новичок
Джуниор
 
Регистрация: 13.11.2011
Сообщений: 2
Радость (MFOI1997.2). Системы счисления

Запись (X)y обозначает, что X есть запись числа в системе счисления по основанию Y. Написать программу, которая решает уравнения вида: (A)x=B, где A и B заданные целые положительные числа, не большие 2 000 000 000, а X – искомая переменная. Исходные числа A и B всегда записаны в десятичной системе счисления.
Пример:
A=160
B=112
X=8
catchmeifyoucan вне форума Ответить с цитированием
Старый 16.01.2012, 22:00   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

дык, всё проще, чем Вы думаете.

if A=B then X(Результат):=10 и выход.
иначе:
Код:
разбираете число A по циферкам в массив, одновременно находите максимальное значение -> MaxDigitA

Результат := 0;
потом цикл X:=MaxDigitA + 1 to 9 do begin
   Вычислить ЗначениеЧислаA по основанию X
   if ВычисленноеЗначение = B then Результат := X; Break; {прервать цикл}
end;
Если результат = 0 тогда ВыдатьСообщение('Нет решения')
иначе ВыдатьСообщение(' X = ', результат);
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Системы счисления c++ Kholmansky Помощь студентам 7 11.09.2011 06:10
Системы счисления monogramm Помощь студентам 11 20.04.2011 14:25
Системы счисления. C++ Alovar Помощь студентам 2 25.12.2010 23:26
Системы счисления бедный_студент Помощь студентам 8 18.02.2009 23:25