Блог пользователя Mr.Temirbay

Автор Mr.Temirbay, 10 лет назад, По-русски

How can I find A % 7 ??? (long arithmetics)

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

»
10 лет назад, # |
  Проголосовать: нравится +31 Проголосовать: не нравится

(X * Y) % M is equal to ((X % M) * (Y % M)) % M.
A = a[0] + a[1] * 10 + a[2] * 10^2 ... + a[n] * 10^n

s = 1;
for (int i = 0; i <= n; ++i)
{
   s = s * 10 % 7;
   res = (res + a[i] * s) % 7;
}
  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Шикарно! не знал, что так просто, а остаток от деления длинного на длинное тоже можно как-то просто считать?
    ===========================================================
    к сожалению, нельзя указать, что язык комментария русский

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ну разве, что процесс деления(взятия остатка) реализовать бинарным поиском.

      ============================================================================ +1, не получается указать, что язык комментария русский

      • »
        »
        »
        »
        10 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        Offtop: На CF нельзя отвечать по-русски на английский комментарий.

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Ну вот как мы сейчас видим — можно. И откровенно говоря, ничего плохого в возможности указать, что комментарий по-русски, не вижу. Пока только иностранных пользователей путаем.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      пост с ответом на твой вопрос