diff --git a/archives.html b/archives.html index c4d2ef0..66c631e 100644 --- a/archives.html +++ b/archives.html @@ -1,7 +1,7 @@ Блог 529

Archives for Блог 529

Пт 21 Октябрь 2016
Моё решение задачи 146
Пт 22 Июль 2016
Нахождение суммы k-ых степеней
Чт 17 Март 2016
Wallabag и реальная жизнь
Вс 10 Январь 2016
Как я шахматного бота писал
Вс 02 Август 2015
CrossGen v1.0
Пт 17 Июль 2015
Моё решение задачи 60
Пт 03 Июль 2015
Ещё одно вычисление выражений
Пт 17 Апрель 2015
Мой первый пост
  1. Моё решение задачи 146

    Краткое условие: необходимо найти сумму всех натуральных \(n\), что \(n^2+1\), \(n^2+3\), \(n^2+7\), \(n^2+9\), \(n^2+13\), и \(n^2+27\) будут последовательными простыми числами.


  2. Моё решение задачи 146

    Краткое условие: необходимо найти сумму всех натуральных \(n\), что \(n^2+1\), \(n^2+3\), \(n^2+7\), \(n^2+9\), \(n^2+13\), и \(n^2+27\) будут последовательными простыми числами.

    Authors on Блог 529

    1. Моё решение задачи 146

      Краткое условие: необходимо найти сумму всех натуральных \(n\), что \(n^2+1\), \(n^2+3\), \(n^2+7\), \(n^2+9\), \(n^2+13\), и \(n^2+27\) будут последовательными простыми числами.


    2. Моё решение задачи 146

      Краткое условие: необходимо найти сумму всех натуральных \(n\), что \(n^2+1\), \(n^2+3\), \(n^2+7\), \(n^2+9\), \(n^2+13\), и \(n^2+27\) будут последовательными простыми числами.

      1. Моё решение задачи 146

        Краткое условие: необходимо найти сумму всех натуральных \(n\), что \(n^2+1\), \(n^2+3\), \(n^2+7\), \(n^2+9\), \(n^2+13\), и \(n^2+27\) будут последовательными простыми числами.


      2. Моё решение задачи 146

        Краткое условие: необходимо найти сумму всех натуральных \(n\), что \(n^2+1\), \(n^2+3\), \(n^2+7\), \(n^2+9\), \(n^2+13\), и \(n^2+27\) будут последовательными простыми числами.

        1. Моё решение задачи 134

          Назовём порождающим для двух последовательных простых \(p_1 < p_2\) наименьшее натуральное число, что оно закачивается на \(p_1\) и при этом делится на \(p_2\). Необходимо найти сумму порождающих для всех \(p_1 \in \left[ 5; 10^6 \right]\)

          Например, если \(p_1 = 19\), то следующее простое \(p_2 = 23\). Тогда порождающим будет число \(1219\), при этом \(1219 \: \vdots \: 23\).

          Полное условие можно найти тут

          Несмотря на то, что сложность задачи 45%, для её решения достаточно выписать условие.

          Пусть \(p_1\) содержит в себе \(k\) цифр, т.е. \(n = r \cdot 10^k + p_1\), где \(r\) — какое-то натуральное число с отрезка \(\left[ 1; p_2-1 \right]\)

          Давайте посчитаем остатки по модулю \(p_2\): \(n \equiv r \cdot 10^k + p_1 \equiv 0\). Отсюда получим явную формулу для \(r\):

          $$ r \equiv -p_1 \cdot 10^{-k} \equiv -p_1 \cdot 10^{p_2 -1-k} $$

          Комментарии:

          1. Так как \(a^p \equiv a \mod p\), то верно что \(a^{-k} \equiv a^{p -1-k} \mod p\)
          2. Это всё бессмысленно, если не знать про алгоритм быстрого возведения в степень, который делает асимптотическую сложность возведения в степень логарифмической.

          У нас есть явная формула для порождающего, и мы знаем как её быстро посчитать. Ниже приведён код на Python с использованием sympy.

          from sympy import primerange  # для получения простых чисел
          +
          +# быстрое возведение в степень по модулю
          +def fast_pow(x, y, modulo):
          +    if y == 0:
          +       return 1
          +    p = fast_pow(x, y // 2, modulo)
          +    p = (p * p) % modulo
          +    if y % 2:
          +        p = (p * x) % modulo
          +    return p
          +
          +# нам нужно первое простое, которое больше 10^6 -- 10^6+3
          +primes = list(primerange(5,10**6+4)) 
          +
          +sm = 0
          +
          +for i in range(len(primes) - 1):
          +    digs = len(str(primes[i])) # количество цифр
          +    r = (primes[i+1]**2  - primes[i] * fast_pow(10, primes[i+1] - 1 - digs, primes[i+1])) % primes[i+1]
          +    sm += r * 10**digs + primes[i]
          +
          +print('Result is {}'.format(sm))
          +

          Ответ: 18613426663617118



          comments powered by Disqus
        \ No newline at end of file diff --git a/posts/moio-reshenie-zadachi-134/index.html.gz b/posts/moio-reshenie-zadachi-134/index.html.gz new file mode 100644 index 0000000..110db5e Binary files /dev/null and b/posts/moio-reshenie-zadachi-134/index.html.gz differ diff --git a/sitemap.xml b/sitemap.xml index a7d30b3..438ea03 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -5,28 +5,28 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> http://likemath.ru/ -2016-10-22T01:19:05-00:00 +2016-10-30T13:26:03-00:00 daily 0.5 http://likemath.ru/archives.html -2016-10-22T01:19:05-00:00 +2016-10-30T13:26:03-00:00 daily 0.5 http://likemath.ru/tags.html -2016-10-22T01:19:05-00:00 +2016-10-30T13:26:03-00:00 daily 0.5 http://likemath.ru/categories.html -2016-10-22T01:19:05-00:00 +2016-10-30T13:26:03-00:00 daily 0.5 @@ -45,6 +45,13 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 0.5 + +http://likemath.ru/posts/moio-reshenie-zadachi-134/ +2016-10-30T17:40:00+03:00 +monthly +0.5 + + http://likemath.ru/posts/moio-reshenie-zadachi-146/ 2016-10-21T17:40:00+03:00 @@ -117,21 +124,7 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> http://likemath.ru/category/project-euler.html -2016-10-21T17:40:00+02:30 -daily -0.5 - - - -http://likemath.ru/tag/open-source.html -2016-03-17T13:35:00+02:30 -daily -0.5 - - - -http://likemath.ru/tag/go.html -2016-03-17T13:35:00+02:30 +2016-10-30T17:40:00+02:30 daily 0.5 @@ -144,15 +137,22 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> -http://likemath.ru/tag/blog.html -2015-04-17T13:35:00+02:30 +http://likemath.ru/tag/bgl.html +2015-11-22T23:41:00+02:30 daily 0.5 -http://likemath.ru/tag/project-euler.html -2016-10-21T17:40:00+02:30 +http://likemath.ru/tag/python.html +2016-10-30T17:40:00+02:30 +daily +0.5 + + + +http://likemath.ru/tag/sympy.html +2016-10-30T17:40:00+02:30 daily 0.5 @@ -164,6 +164,27 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 0.5 + +http://likemath.ru/tag/c.html +2016-10-21T17:40:00+02:30 +daily +0.5 + + + +http://likemath.ru/tag/project-euler.html +2016-10-30T17:40:00+02:30 +daily +0.5 + + + +http://likemath.ru/tag/open-source.html +2016-03-17T13:35:00+02:30 +daily +0.5 + + http://likemath.ru/tag/wxwidgets.html 2015-08-04T17:40:00+02:30 @@ -171,27 +192,6 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 0.5 - -http://likemath.ru/tag/c.html -2016-10-21T17:40:00+02:30 -daily -0.5 - - - -http://likemath.ru/tag/flint.html -2016-10-21T17:40:00+02:30 -daily -0.5 - - - -http://likemath.ru/tag/bgl.html -2015-11-22T23:41:00+02:30 -daily -0.5 - - http://likemath.ru/tag/matematika.html 2016-07-22T13:35:00+02:30 @@ -199,13 +199,6 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 0.5 - -http://likemath.ru/tag/bot.html -2016-01-10T13:35:00+02:30 -daily -0.5 - - http://likemath.ru/tag/shakhmaty.html 2016-01-10T13:35:00+02:30 @@ -214,10 +207,38 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> -http://likemath.ru/author/aleksei-lobanov.html +http://likemath.ru/tag/blog.html +2015-04-17T13:35:00+02:30 +daily +0.5 + + + +http://likemath.ru/tag/go.html +2016-03-17T13:35:00+02:30 +daily +0.5 + + + +http://likemath.ru/tag/bot.html +2016-01-10T13:35:00+02:30 +daily +0.5 + + + +http://likemath.ru/tag/flint.html 2016-10-21T17:40:00+02:30 daily 0.5 + +http://likemath.ru/author/aleksei-lobanov.html +2016-10-30T17:40:00+02:30 +daily +0.5 + + diff --git a/sitemap.xml.gz b/sitemap.xml.gz index a113583..890e99b 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ diff --git a/tag/project-euler.html b/tag/project-euler.html index 407b1bb..a3b0082 100644 --- a/tag/project-euler.html +++ b/tag/project-euler.html @@ -1,7 +1,33 @@ Блог 529 - Project Euler
        1. Моё решение задачи 146

          Краткое условие: необходимо найти сумму всех натуральных \(n\), что \(n^2+1\), \(n^2+3\), \(n^2+7\), \(n^2+9\), \(n^2+13\), и \(n^2+27\) будут последовательными простыми числами.


        2. Моё решение задачи 146

          Краткое условие: необходимо найти сумму всех натуральных \(n\), что \(n^2+1\), \(n^2+3\), \(n^2+7\), \(n^2+9\), \(n^2+13\), и \(n^2+27\) будут последовательными простыми числами.

          1. Моё решение задачи 134

            Краткое условие: назовём порождающим для двух последовательных простых \(p_1 < p_2\) наименьшее натуральное число, что оно закачивается на \(p_1\) и при этом делится на \(p_2\). Необходимо найти сумму порождающих для всех \(p_1 \in \left[ 5; 10^6 \right]\)


          Page 1 / 1
          \ No newline at end of file diff --git a/tag/python.html.gz b/tag/python.html.gz new file mode 100644 index 0000000..2040dd5 Binary files /dev/null and b/tag/python.html.gz differ diff --git a/tag/sympy.html b/tag/sympy.html new file mode 100644 index 0000000..9db867f --- /dev/null +++ b/tag/sympy.html @@ -0,0 +1,35 @@ + + Блог 529 - sympy
          1. Моё решение задачи 134

            Краткое условие: назовём порождающим для двух последовательных простых \(p_1 < p_2\) наименьшее натуральное число, что оно закачивается на \(p_1\) и при этом делится на \(p_2\). Необходимо найти сумму порождающих для всех \(p_1 \in \left[ 5; 10^6 \right]\)


          Page 1 / 1
          \ No newline at end of file diff --git a/tag/sympy.html.gz b/tag/sympy.html.gz new file mode 100644 index 0000000..7a42862 Binary files /dev/null and b/tag/sympy.html.gz differ diff --git a/tags.html b/tags.html index 7ec30a7..d0c8314 100644 --- a/tags.html +++ b/tags.html @@ -1,7 +1,7 @@ Блог 529 - Tags