|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
|
Разность римских чисел без перевода в десятичную систему06.12.2019, 14:43. Показов 5341. Ответов 18
Метки нет (Все метки)
Добрый день! Мне в университете задали РГЗ на разность двух римских чисел. Казалось бы, это сделать легко, путём перевода каждого числа в десятичное, найти разность и записать обратно в римский вид. Однако вся сложность заключается в том, что пользоваться переводом в десятичное число нельзя. Дорогие друзья! Подскажите пожалуйста, в каком направлении копать? Как примерно это можно реализовать? Код я смогу написать сам, мне бы только идею
0
|
|
| 06.12.2019, 14:43 | |
|
Ответы с готовыми решениями:
18
Перевода вещественного числа из шестиричной в десятичную систему счисления
|
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
| 06.12.2019, 16:45 | |
|
На ум приходит такое:
Сначала нужно научиться вычитать 1 из любого римского числа затем для 2 римских чисел A и B в цикле пока (B = B - 1) != 0 вычитать из A единицу
1
|
|
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
|
| 06.12.2019, 17:06 [ТС] | |
|
Так-то идея хорошая. А если в цекле сделать так, что мы уменьшаем число A до тех пор, пока у нас A != B, счётчик и будет ответ. А потом этот ответ перевести в римское число
0
|
|
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
| 06.12.2019, 17:11 | |
|
Да, еще и лучше даже
0
|
|
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
|
| 06.12.2019, 17:20 [ТС] | |
|
Придумал ещё лучше. Сделать цикл, пока A != B, ответом будет являться счётчик. В цикле добавлять единичку к числу B. Спасибо большое за ответ, дома попробую реализовать
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 06.12.2019, 17:24 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
|
| 06.12.2019, 17:27 [ТС] | |
|
Если к числу B прибавлять, то я примерно знаю, как это сделать
0
|
|
|
14 / 11 / 3
Регистрация: 16.10.2019
Сообщений: 95
|
|
| 06.12.2019, 17:32 | |
|
Когда же я буду иметь счастье созерцать решение?
0
|
|
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
|
| 06.12.2019, 17:36 [ТС] | |
|
Сегодня - завтра постараюсь сделать
0
|
|
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
||||||
| 07.12.2019, 18:02 [ТС] | ||||||
|
Что-то не получается у меня сделать. Работает только с супер-маленькими числами. Например VIII и V. Всё-таки сделать так, чтобы число VIIII (так как мы к B добавляем I) трансформировалось в IX - очень затруднительно
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 07.12.2019, 18:08 | |||
|
0
|
|||
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
|
| 07.12.2019, 18:15 [ТС] | |
|
Тоже думал об этом. Хотя не уверен, что это разрешено) Но попробую. Спасибо
UPD По-моему, чтобы перевести римское число в бинарное - нужно всё равно перевести сначала в десятичное, разве нет?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 07.12.2019, 18:19 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
||||||
| 09.12.2019, 12:19 [ТС] | ||||||
|
Попытался написать программу, которая будет считать XI - III, где III - число B. У нас в цикле получается следующее:
III (добавляем I, к циклу добавляется 1) - получается IIII (через условие меняется IIII на IV, добавляем I, к циклу добавляется 1) - получается IVI (через условие меняется IVI на V, добавляем I, к циклу добавляется 1) - получается VI и так далее, пока не дойдём до XI. Счётчик цикла - и есть ответ, который нужно перевести в римское число (что происходит без проблем). Идея по сути рабочая, но программа не работает, останавливается на первом цикле и пишет Segmentation fault. Не могу найти в чём проблема. Есть ли у вас идеи, как можно оптимизировать код? Здесь ещё нет многих циклов для чисел побольше, однако сейчас не об этом речь. Прошу помочь!
0
|
||||||
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
|
| 11.12.2019, 19:41 [ТС] | |
|
Ребят! Вопрос всё ещё актуален! Прошу помощи
0
|
|
|
place status here
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
|
||
| 12.12.2019, 00:20 | ||
Сообщение было отмечено voltara13 как решение
Решение
https://educontest.net/ru/3656... %B0%D1%85/
https://spravochnick.ru/inform... hisleniya/ https://nsportal.ru/ap/library... chisleniya Сложение и вычитание Сложить два римских числа не очень сложно: XIX + XXVI = XXXV Последовательность выполнения сложения такова: а) IX+VI: I после V "уничтожает" I перед X, поэтому в результате получаем XV; б) X+XX=XXX, если добавить еще один X, получим XXXX, или XL. Сложность вычитания римских чисел приблизительно такая же. Но чтобы из 500 вычесть 263, 500 надо сначала разложить на более мелкие составляющие и «сократить» повторяющиеся в уменьшаемом и вычитаемом знаки: D - CCLXIII = CCCCLXXXXVIIIII - CCLXIII = CCXXXVII
2
|
||
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
|
| 12.12.2019, 13:29 [ТС] | |
|
Спасибо большое! Примерно понял как сделать
0
|
|
|
2 / 2 / 0
Регистрация: 26.01.2016
Сообщений: 39
|
||||||
| 22.12.2019, 09:13 [ТС] | ||||||
|
Программу сделал. Если кому-то нужно, то вот:
1
|
||||||
|
0 / 0 / 0
Регистрация: 27.12.2020
Сообщений: 1
|
|
| 27.12.2020, 19:08 | |
|
voltara13, привет, а у тебя не осталось блок-схем к программе?
0
|
|
| 27.12.2020, 19:08 | |
|
Помогаю со студенческими работами здесь
19
Сформировать новый массив путем перевода значений элементов исходного массива в десятичную систему счисления Функции для перевода чисел из девятичной системы в десятичную
Написать рекурсивный алгоритм перевода из двоичной системы счисления в десятичную ( из восьмеричной и шестнадцатеричной в десятичную)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|