@olsonexi But
>>> 7**(197.0) % 787
586.0
So apparently ** works differently for ints and floats. For ints it's an exact (huge) integer, but for floats it's an approximation.
>>> 7**(197)
30500986272053519460696500325996541282271686735190185597522274297478500779662572162607529489531673616014767487616753102548289155520943414542713569292535908264249143207
>>> 7**(197.0)
3.050098627205352e+166
With such a gross approximation, the % operator is nearly meaningless.
>> 1e100 % 10
4.0