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

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

17.02.2019, 18:33. Показов 1884. Ответов 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
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 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. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru