Mr.Temirbay's blog

By Mr.Temirbay, 10 years ago, In Russian

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

  • Vote: I like it
  • +3
  • Vote: I do not like it

| Write comment?
»
10 years ago, # |
  Vote: I like it +31 Vote: I do not like it

(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 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

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

    • »
      »
      »
      10 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

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

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

      • »
        »
        »
        »
        10 years ago, # ^ |
        Rev. 2   Vote: I like it 0 Vote: I do not like it

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

        • »
          »
          »
          »
          »
          10 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

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

    • »
      »
      »
      10 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

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