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

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

17.02.2019, 18:33. Показов 1804. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru