Сделал 20 задание

This commit is contained in:
parent af7cb9942b
commit 5fd61b6603

49
lesson.20.py Normal file
View file

@ -0,0 +1,49 @@
''' ****** Задание 20 из 20 Параграф 2.4 *********
* Виталий Евгеньевич задумался:
А какая система счисления — самая выгодная?
По его логике, выгодной считается та система счисления, в которой сумма цифр числа — наибольшая.
А если таких систем несколько — он выбирает наименьшее основание из них.
Ваша задача — помочь ему это выяснить!
Формат ввода
Одно натурально число.
Формат вывода
Одно натуральное число из диапазона [2;10] — основание системы счисления с максимальной выгодой.
Если таких оснований несколько, выбирается наименьшее.
Пример 1
Ввод
12
Вывод
7
'''
if __name__ == "__main__":
decimal_number = int(input())
max_sum_digits = 0
best_base = 2
for base in range(2, 11):
temp_number = decimal_number
current_sum_digits = 0
if temp_number == 0:
current_sum_digits = 0
else:
while temp_number > 0:
current_sum_digits += temp_number % base
temp_number //= base
if current_sum_digits > max_sum_digits:
max_sum_digits = current_sum_digits
best_base = base
print(best_base)