Предмет: Информатика,
автор: Parasyte1980
Прошу помочь, срочно. Цена-40 баллов
Дано число. В этом числе необходимо изменить одну цифру таким образом, чтобы
новое число делилось на 3 и было бы максимально возможным. В исходном числе нужно
обязательно изменить одну цифру, даже если исходное число уже делилось на 3.
Программа получает на вход одно длинное натуральное число. Длина числа может
достигать 100 цифр.
Программа должна вывести другое натуральное число, удовлетворяющее условиям:
1. Новое число должно отличаться от данного ровно одной цифрой.
2. Новое число должно делиться на 3.
3. Новое число должно быть максимально возможным из всех таких чисел.
2shark2:
язык?
Ответы
Автор ответа:
0
Постарался учесть все возможные числа
Python:
a = int(input())
a = str(a)
a1 = a
c = 0
e = 0
br = 0
for b in range(len(a)):
c += int(a[b])
for b in range(len(a)):
if a[b] == '9':
e += 1
if e == len(a):
print(a[:len(a) - 1] + '6')
else:
for b in range(len(a)):
if br == 'break':
break
for d in range(9, -1, -1):
if br == 'break':
break
a1 = a[0:b] + str(d) + a[b + 1:]
if int(a1) > int(a) and int(a1) % 3 == 0:
print(a1)
br = 'break'
Похожие вопросы
Предмет: Українська мова,
автор: 0404040
Предмет: Українська мова,
автор: ihkravchenko
Предмет: Русский язык,
автор: huskyloveforever
Предмет: Қазақ тiлi,
автор: dashalime24
Предмет: Информатика,
автор: logytovais