Предмет: Информатика, автор: pdtcrbyf4870

Число 430 записали в системах счисления с основаниями от 2 до 10 включительно. При каких основаниях цифры этого числа расположены слева направо в порядке убывания? В ответе укажите сумму всех подходящих оснований.
НУЖНА ПОГРАММА НА ПИТОНЕ

Ответы

Автор ответа: yaroslav200511
0

Ответ:

S = 5

Объяснение:

# P.s. Не уверен в программе, так как набросал на скорую руку, но  вроде правильно.

Numb = 430

S = 0

for i in range(2, 11):

   Other = Numb

   Conv = str()

   Cursor = True

# Переводим 430 во необходимые СС и выводим для наглядности

   while Other != 0:

       Conv = str(Other % i) + Conv

       Other = Other // i

   print(Conv)

# Проверяем соблюдается ли условие, Значение[n] != Значение[n+1] + 1

   for q in range(len(Conv) - 1):

       if int(Conv[q:q+1]) != int(Conv[q+1:q+2]) + 1:

           Cursor = False

           break

# Если условие ни разу не было соблюдено, то СС подходящая

   if Cursor == True:

       S += i

print(S)

Приложения:

yaroslav200511: Небольшая поправка, проверка на соблюдение условия не правильная. Следует изменить с:
1) if int(Conv[q:q+1]) != int(Conv[q+1:q+2]) + 1:
На:
2) if int(Conv[q:q+1]) <= int(Conv[q+1:q+2]):
Похожие вопросы
Предмет: Русский язык, автор: 090419791
Предмет: Физика, автор: DELALEX