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

Почему в питоне 1%109 = 108?

Петя Нестеров Ученик (114), закрыт 1 месяц назад
Почему в питоне 1%109 = 108?
Лучший ответ
Андрей Высший разум (467298) 3 месяца назад
Ты ошибаешься. В Python 1 % 109 равно 1.
А вот (-1) % 109 действительно равно 108.

Во всех языках программирования:
 a % b = a - (a // b) * b 
В Python:
 1 % 109 = 1 - (1 // 109) * 109 = 1 - (0) * 109 = 1 - 0 = 1
-1 % 109 = -1 - (-1 // 109) * 109 = -1 - (-1) * 109 = 109 - 1 = 108
Петя НестеровУченик (114) 3 месяца назад
Спасибо большое!
Остальные ответы
Владимир Ворников Профи (930) 3 месяца назад
Переходите на perl, там норм.
$ perl
print 1%109;
1
Лайт Ягами Искусственный Интеллект (315025) 3 месяца назад
Кольцо вычетов, в пока ещё не заблокированной википедии можешь почитать.
Похожие вопросы