Сделал 20 задание
This commit is contained in:
parent
af7cb9942b
commit
5fd61b6603
49
lesson.20.py
Normal file
49
lesson.20.py
Normal 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)
|
||||
Loading…
Reference in a new issue