1. BURMALDA13.03.2025 в 14:04от
Загрузка...

Задачка по программированию для школоло

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем Хуйв, 13.11.2013.

  1. Хуйв

    Хуйв

    Статус:
    Оффлайн
    Регистрация:
    06.11.13
    Сообщения:
    26
    Репутация:
    3 +/-
    В неизвестном двузначном числе Х переставили местами цифры, получив при этом число У. Далее от максимума Х и У вычли их минимум, и полученный результат R назвали вам. Например, исходное число Х=95; после перестановки цифр получено число У = 59; Разность максимума и минимума R=95-59.
    Теперь ваша задача по полученному числу R восстановить исходное число X. Если возможных ответов несколько, то вывести следует максимальный. Если ответа нет, то вывести 0.

    Формат входа данных:
    В одной строке дно целое число 0=<R<90.

    Формат входа данных:
    Одно число ответ к задаче

    Примеры ввода и вывода:
    [table="width: 300, class: grid, align: center"]
    Ввод Вывод
    36 95
    35 0
    [/table]

    Сможет ли кто-нибудь из нынешних "тру кодеров" типо Deival, MDK, Individual, AFL, Miru, Qvasik, Kemza решать такую задачку для 9-и классника?

    Кстати это задача чисто на Pascal(можно скачать algorus.exe, удобнее). Или в Делфи использовать только integer и стринг(для ввода и вывода результата)
     
    Последнее редактирование: 13.11.2013
  2. kzander

    kzander

    Статус:
    Оффлайн
    Регистрация:
    09.06.13
    Сообщения:
    41
    Репутация:
    0 +/-
    олимпиада была ? xD
     
  3. Хуйв

    Хуйв

    Статус:
    Оффлайн
    Регистрация:
    06.11.13
    Сообщения:
    26
    Репутация:
    3 +/-
    ага
     
  4. kzander

    kzander

    Статус:
    Оффлайн
    Регистрация:
    09.06.13
    Сообщения:
    41
    Репутация:
    0 +/-
    Я вроде знаю как, прийду домой попробую, но ебать задание - такое еб*нутое
     
  5. VD3K

    VD3K

    Статус:
    Оффлайн
    Регистрация:
    07.02.13
    Сообщения:
    465
    Репутация:
    161 +/-
    Смотри, здесь такая штука, посчитав на калькуляторе, к примеру:
    43-34=9; 74-47=27; 72-27=45; 54-45=0; 96-69=27; 97-79=18; 98-89=9; 99-99=0
    Все числа кратны девяти, не буду говорить прикол, это долго, но я уже встречал такое. Короче, я тут нашел формулу:
    берем введенное R, меняем её числа и прибавляем к ним разность R числа и результат деления на 9, тобишь:
    берем введенное 36, меняеё её на 63, прбавляем к 63 разность 36 и 36:9=63+36-4=63+32=95.
    Берем другое: 27, 72+27-3=72+24=96. Вот и все))) вот программный код:

    var R, A, Y:integer;
    begin
    readln(R); // Считываем число R

    if R mod 9 = 0 then begin // Если R делится на 9 без остатка
    Y:=R; // Сохраняем R в Y, оно пригодится еще)

    A:= (Y mod 10) * 10; // Переставляем последнюю цифру из Y в первую цифру числа А
    Y:= Y div 10; // Убераем последнюю цифру из Y

    A:= A + Y; // Добовляем последнее число из Y к А

    A:= A + R - (R div 9); // Делаем главную операцию, которую я описал выше

    writeln(A); // Выводим А

    end; // Закрываем скобку, которую открыли в if

    else writeln('0'); // Если же не делится, то результат всегда равен 0
    end.

    (это не копипаст:D, надеюсь помог)
     
    Последнее редактирование: 15.11.2013
  6. Хуйв

    Хуйв

    Статус:
    Оффлайн
    Регистрация:
    06.11.13
    Сообщения:
    26
    Репутация:
    3 +/-
    Да я то решил). Просто заткнул всех "тру кодеров" юхака.