|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.09.2013, 00:43 | #1 |
Новичок
Джуниор
Регистрация: 26.09.2013
Сообщений: 1
|
Арифметическое переполнение.
В общем, задача такая:
Вводим цифру n от 2 до 9. Нужно найти самое меньшее число, что бы n было последней цифрой, и если умножить число на n, то n переносилось вперёд, а те цифры что были, остаются позади. Код:
|
26.09.2013, 02:01 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Наверное, без длинной арифметики не обойтись.
Как видится решение: (10 * k + n) * n = n * 10 ^ length(k) + k откуда k = n * (10 ^ length(k) - n) / (10 * n - 1). Само число 10 * k + n. Перебираем длину числа k, пока не сможем нацело поделить. Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
26.09.2013, 09:51 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
BDA спасибо за предоставленный алгоритм.
я адаптировал код (c) BDA под Delphi и воспользовался типом данных int64 нашлись ещё числа для 2 и 8: Цитата:
p.s. А вообще, решения для всех n от 2 до 9 существуют? можно это доказать аналитически? p.p.s. если не ошибаюсь, в .NET есть встроенная поддержка длинных чисел, возможно, там можно попытаться найти решение. |
|
26.09.2013, 10:14 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 26.09.2013 в 10:17. |
26.09.2013, 10:45 | #5 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
26.09.2013, 10:54 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Utkin, спасибо за информацию.
Теперь, после поста от Аватара, в рамках данной темы, длинная арифметика утратила актуальность, уже есть готовое полноценное решение! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти среднее арифметическое их квадратов и среднее арифметическое их модулей. (Турбо паскаль) | erte | Помощь студентам | 1 | 30.10.2012 13:08 |
Арифметическое переполнение | GamBitFRK | Помощь студентам | 1 | 09.05.2012 22:22 |
С++ Найти среднее арифметическое положительных и среднее арифметическое отрицательных чисел, минимальное по модулю число. | Юрик 530 | Помощь студентам | 4 | 03.12.2011 16:26 |
Циклы. Арифметическое переполнение. | sqr | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 09.11.2011 01:18 |
Арифметическое переполнение | hasana | Помощь студентам | 2 | 04.11.2010 18:08 |