|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.01.2010, 13:42 | #1 | |
Форумчанин
Регистрация: 18.08.2009
Сообщений: 289
|
Непонятное условие задания
У Дейтлов есть задачка:
Цитата:
(1+7) % 10 = 0.8 В итоге получаем дробную часть 8. А чтобы вернуть цифру 1, надо 0.8 * 10 - 7. Но программа-дешифратор получит не 0.8, а только 8. Откуда ей знать, что раньше там было 0.8 ? Ведь могло быть и 1.8, и 2.8 и что угодно вообще. У кого какие мысли? |
|
26.01.2010, 14:32 | #2 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
Никаких особых мыслей. Первое - остаток от деления 8. Не 0.8, не 18, а именно 8, так как речь идет остатке, а не о дробной части.
Второе - остаток от деления 8 (это я еще раз повторил, для запоминания). Не 18 (тоже для запоминания), а именно 8. И он не может быть 18, так как 18 больше 10. Но, если сделать именно остаток, то "программа будет знать", так как получит все число, даже не надо придумывать объяснения "как" и "почему". |
26.01.2010, 16:10 | #3 | |
Форумчанин
Регистрация: 18.08.2009
Сообщений: 289
|
Цитата:
Пойдем сначала: Есть число 1234. Программа-шифратор начинает кодировать первую цифру "1". (1 + 7) \ 10 = 8 \ 10 = 0.8; остаток от деления здесь, насколько я понимаю, 8 Цифру "1 ", только что закодированную в "8", принимает программа-дешифратор. Ей необходимо "8" превратить обратно в "1". Как это сделать? Есть идея использовать таблицу соответствий. Ведь здесь есть закономерность: 1 - 8 2 - 9 3 - 0 4 - 1 5 - 2 6 - 3 7 - 4 8 - 5 9 - 6 0 - 7 |
|
26.01.2010, 16:38 | #4 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Y = (X + 7) % 10
=> X = (Y + 3) % 10
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
27.01.2010, 08:47 | #5 |
Форумчанин
Регистрация: 18.08.2009
Сообщений: 289
|
|
16.03.2017, 16:18 | #6 |
Новичок
Джуниор
Регистрация: 16.03.2017
Сообщений: 1
|
Добрый день. Понимаю, что тема уже старая. Я начал изучать с++ и решаю данную задачу. Никак не могу понять, каким образом тут получается такая формула дешифрирования? Можете расписать подробнее? как я понял тройка получается из 10-7=3, но почему вычитание из 10, а не просто Y-7, происходит никак не могу понять. Спасибо.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Непонятное зависание. | DIMANJ | Операционные системы общие вопросы | 20 | 18.11.2009 17:08 |
Непонятное | OgE®_M@G | Microsoft Office Access | 6 | 13.11.2009 06:30 |
Непонятное задание. | Dmitry81 | Помощь студентам | 11 | 11.01.2009 16:27 |
Непонятное задание. | Dmitry81 | Microsoft Office Excel | 2 | 10.01.2009 12:38 |
Непонятное условие | SunKnight | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 29.11.2008 23:01 |