Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Домашняя работа по информатике. помогите пожалуйста.

София Жолобова Ученик (24), открыт 3 недели назад
Алиса и Боб придумали сверхзащищённый шифр. Значением шифра для строки они считают сумму номеров символов строки в английском алфавите. При этом Алиса — программист и считает порядок букв с нуля (то есть « a » имеет номер 0 , « b » — номер 1, … , «z» — номер 25 ). А Боб — математик и нумерует буквы с единицы (то есть « a » имеет номер 1 ).

Так, шифром строки
«abaz» по версии Алисы будет 0 + 1 + 0 + 25 = 26 , а по версии Боба он равняется 1 + 2 + 1 + 26 = 30.

Алиса и Боб загадали строку s (длины от 1 до 100000 ) и сообщили вам её шифр, посчитанный обоими способами. Найдите любую строку, которая имеет необходимые значения шифра или сообщите, что такой строки не существует.

Входные данные
В первой строке содержится одно число
A ( 0 ≤ A ≤ 25 ⋅ 100000 ) — шифр строки s по версии Алисы.

Во второй строке содержится одно число
B ( 1 ≤ B ≤ 26 ⋅ 100000 ) — шифр строки по версии Боба.

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

Если же искомой строки не существует, выведите « − 1 » (без кавычек).

код программы на python / с++ пожалуйста
1 ответ
ֆհαδoᵂ☄ᴷίʆʆer Знаток (292) 3 недели назад
def find_string(A, B):
for i in range(1, 27):
a = i * (i - 1) // 2
b = (i + 1) * i // 2
if a + b == A and a * 26 + b == B:
return 'a' * (i - 1) + 'a' + 'z' * (26 - i)
return -1

A = int(input())
B = int(input())

result = find_string(A, B)
if result == -1:
print(-1)
else:
print(result)
Похожие вопросы