Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 09.02.2019
Сообщений: 19

Задача №113128. Контрольная по арифметике

17.02.2019, 18:33. Показов 1863. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток!
Помогите с решением - пытался решать через циклы, но почти во все тестах превышено время ожидания. Может кто знает как это исправить или может предложить свой способ?
Заранее спасибо


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def rec(n):
    if n<10: return n
    return int(str(n%10)+str(rec(n//10)))
 
n = int(input())
flag = True
 
for i in range(0,n):
    if i + rec(i) == n:
        print(i)
        flag = False
        break
if flag == False:
    None
else:
    print(0)

Вот сама задача:

Отличник Витя учится в третьем классе. На последнем уроке математики в четверти учительница Оксана Филипповна дала итоговую контрольную работу по арифметике. На контрольной сообразительный Витя быстрее всех справился со стандартными заданиями. Поскольку до конца урока оставалось ещё много времени, учительница предложила ему решить более сложное упражнение.

Рассмотрим операцию переворота целого положительного числа: при её применении десятичные цифры числа записываются в обратном порядке, затем если у результата есть ведущие нули, они отбрасываются. Например, при перевороте из числа 123 получается число 321, из числа 130— число 31, а из числа 31 — число 13.

Оксана Филипповна загадала целое положительное число a без ведущих нулей и применила к нему операцию переворота, получилось число ar. После этого она сложила a и ar, дала Вите их сумму n и попросила его найти исходное число a.

Поскольку в предложенном учительницей примере числа a и ar были небольшими, Витя быстро угадал правильный ответ и задумался над построением общего алгоритма для решения задачи. Его интересует, как по заданному числу n найти какое-либо a или определить, что такого a не существует. Помогите Вите разработать такой алгоритм.

Входные данные
В первой строке входных данных находится одно целое число n (1n10100000).

Выходные данные
В случае если не существует ни одного целого положительного числа a без ведущих нулей такого, что a+ar=n, выведите единственное число 0.

В противном случае выведите подходящее a без пробелов и ведущих нулей. Если удовлетворяющих условию вариантов несколько, выведите любой.

Для лучшего понимания формата вывода рекомендуется изучить примеры.

Пояснения к примерам
В первом примере 4=2+2, a=2 — единственный вариант. Во втором примере 11=10+1, a=10 — единственный вариант. Обратите внимание, что вариант a=01 не подходит, поскольку a не может иметь ведущие нули. Легко проверить, что в третьем примере ни одного подходящего a не существует. В четвёртом примере 33=30+3=12+21, и существует три варианта для a: a=30, a=12, a=21. Любой из них является правильным ответом.

Примеры
входные данные
4
выходные данные
2
входные данные
11
выходные данные
10
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2019, 18:33
Ответы с готовыми решениями:

Задача по целочисленной арифметике
Приветствую.Я новичок и прошу помочь с заданием ниже: (уже находил ответ на этом форуме,но у моего преподавателя условие - выполнить эту...

Олимпиадная задача. Юный программист Петя обучает своего младшего брата арифметике
Карточки для счета Юный программист Петя обучает своего младшего брата арифметике. Петя заготовил много карточек, на каждой из которых...

контрольная задача
Type R=Record ch:integer; zn:1..maxint end; Dat=Record ch:1..31; mes:1..12 end; Var x:R; y:Dat; ch:integer; Определить, какие...

1
 Аватар для __ALPHA__
302 / 160 / 87
Регистрация: 16.04.2018
Сообщений: 239
18.02.2019, 06:28
Кажется, представленный код еще и не правильно считает. На n=112 он выдает a=101, хотя 101+101 != 112
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2019, 06:28
Помогаю со студенческими работами здесь

Контрольная задача.
Ввести натурально число n. а) Определить, является ли оно палидромом. (Вроде готово) б) Если число n - палидром, то построить массив...

Задача Контрольная по ударениям
Контрольная по ударениям Учительница задала Пете домашнее задание — в заданном тексте расставить ударения в словах, после чего поручила...

Это контрольная задача 3курса теха
Описать структуру с именем TRAIN содержащую следующие поля: *название пункта назначения *номер поезда *время отправления Написать...

Контрольная задача. Массивы и целые числа.
Вот код: #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; const int n=100; int main(int argc, char *argv) { ...

Задача "Ремонт" - Контрольная работа
Тайфун потрепал нас изрядно, пришлось, знаете, заново проконопатить борта, просмолить всю яхту, а главное, поставить новый рангоут и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru