Число рамануджана как найти

Простые числа Рамануджана — подпоследовательность простых чисел, связанная с теоремой Рамануджана, уточняющей постулат Бертрана относительно функции распределения простых чисел.

История[править | править код]

В 1845 году Бертран выдвинул гипотезу, что

{displaystyle pi (x)-pi left({frac {x}{2}}right)geqslant 1}

для всех xgeqslant 2, где pi (x) — функция распределения простых чисел, равная числу простых не превосходящих x.
Эта гипотеза была доказана Чебышёвым в 1850 году. В 1919 году Рамануджан, отметив приоритет Чебышёва, доказал в двухстраничной статье более сильную теорему, которая и задаёт последовательность простых чисел Рамануджана:[1]

{displaystyle pi (x)-pi left({frac {x}{2}}right)geqslant 1,2,3,4,5,ldots }

для всех {displaystyle xgeqslant 2,11,17,29,41,ldots } соответственно (последовательность A104272 в OEIS).

Определение[править | править код]

Простое число Рамануджана R_n это наименьшее целое число, что для любого {displaystyle xgeqslant R_{n}} выполнено

{displaystyle pi (x)-pi left({frac {x}{2}}right)geqslant n.}

Согласно теореме Рамануджана эта разность для всех {displaystyle xgeqslant R_{n}} не меньше n и стремится к бесконечности.

Следует отметить, что R_n обязательно является простым числом: {displaystyle pi (x)-pi left({frac {x}{2}}right)}, а следовательно и {displaystyle pi (x),} должно возрасти, что возможно только если R_n простое.

Границы и асимптотика[править | править код]

Оценка посредством элементарных функций[2]:

{displaystyle 2nln 2n<R_{n}<4nln 4n.}

Оценка посредством простых чисел[2][3]:

{displaystyle p_{2n}<R_{n}<p_{3n}},

где p_nn-е простое число.

Асимптотика[2]:

{displaystyle R_{n}sim p_{2n}} при {displaystyle nto infty .}

Уточнённая оценка сверху[4]:

{displaystyle R_{n}leq {frac {41}{47}},p_{3n}.}

Все эти результаты были доказаны после 2008 года.

Примечания[править | править код]

  1. Ramanujan, S. (1919), A proof of Bertrand’s postulate, Journal of the Indian Mathematical Society Т. 11: 181—182, <http://www.imsc.res.in/~rao/ramanujan/CamUnivCpapers/Cpaper24/page1.htm>. Архивная копия от 26 мая 2018 на Wayback Machine.
  2. 1 2 3 Sondow, J. (2009), Ramanujan primes and Bertrand’s postulate, Amer. Math. Monthly Т. 116 (7): 630—635, DOI 10.4169/193009709×458609
  3. Laishram, S. (2010), On a conjecture on Ramanujan primes, Международный журнал по теории чиселi  (англ.) (рус. Т. 6 (8): 1869—1873, doi:10.1142/s1793042110003848, <http://www.isid.ac.in/~shanta/PAPERS/RamanujanPrimes-IJNT.pdf> Архивная копия от 12 ноября 2017 на Wayback Machine.
  4. Sondow, J.; Nicholson, J. & Noe, T. D. (2011), Ramanujan primes: bounds, runs, twins, and gaps, Journal of Integer Sequences Т. 14: 11.6.2, <http://www.cs.uwaterloo.ca/journals/JIS/VOL14/Noe/noe12.pdf>. Архивная копия от 8 августа 2017 на Wayback Machine.

Given a positive integer L, the task is to find all the Ramanujan Numbers that can be generated by any set of quadruples (a, b, c, d), where 0 < a, b, c, d ≤ L.

Ramanujan Numbers are the numbers that can be expressed as sum of two cubes in two different ways. 
Therefore, Ramanujan Number (N) = a3 + b3 = c3 + d3
 

Examples:

Input: L = 20
Output: 1729, 4104
Explanation:
The number 1729 can be expressed as 123 + 13 and 103 + 93.
The number 4104 can be expressed as 163 + 23 and 153 + 93.

Input: L = 30
Output: 1729, 4104, 13832, 20683

Naive Approach: The simplest approach is to check for all combination of quadruples (a, b, c, d) from the range [1, L] consisting of distinct elements that satisfy the equation a3 + b3 = c3 + d3. For elements found to be satisfying the conditions, store the Ramanujan Numbers as a3 + b3. Finally, after checking for all possible combinations, print all the stored numbers.

Below is the implementation of the above approach:

C++

#include<bits/stdc++.h>

using namespace std;

map<int,vector<int>> ramanujan_On4(int limit)

{

    map<int,vector<int>> dictionary;

    for(int a = 0; a < limit; a++)

    {

        for(int b = 0; b < limit; b++)

        {

            for(int c = 0; c < limit; c++)

            {

               for(int d = 0; d < limit; d++)

               {

                    if ((a != b) and (a != c) and (a != d)

                        and (b != c) and (b != d)

                            and (c != d)){

                        int x = pow(a, 3) + pow(b, 3);

                        int y = pow(c, 3) + pow(d, 3);

                        if ((x) == (y))

                        {

                            int number = pow(a, 3) + pow(b, 3);

                            dictionary[number] = {a, b, c, d};

                        }

                    }

            }

        }

    }

}

    return dictionary;

}

int main()

{

int L = 30;

map<int, vector<int>> ra1_dict = ramanujan_On4(L);

for(auto x:ra1_dict)

{

    cout << x.first << ": (";

    for(int i = x.second.size() - 1; i >= 0; i--)

    {

        if(i == 0)

          cout << x.second[i] << ")";

        else

         cout << x.second[i] << ", ";   

    }

    cout << endl;

}

}

Java

import java.util.*;

import java.lang.*;

class GFG{

static Map<Integer, List<Integer>> ra1_dict; 

static void ramanujan_On4(int limit)

{

    for(int a = 0; a < limit; a++)

    {

        for(int b = 0; b < limit; b++)

        {

            for(int c = 0; c < limit; c++)

            {

               for(int d = 0; d < limit; d++)

               {

                    if ((a != b) && (a != c) && (a != d) &&

                        (b != c) && (b != d) && (c != d))

                    {

                        int x = (int)Math.pow(a, 3) +

                                (int) Math.pow(b, 3);

                        int y = (int)Math.pow(c, 3) +

                                (int) Math.pow(d, 3);

                        if ((x) == (y))

                        {

                            int number = (int)Math.pow(a, 3) +

                                         (int) Math.pow(b, 3);

                            ra1_dict.put(number, new ArrayList<>(

                                Arrays.asList(a, b, c, d)));

                        }

                    }

                }

            }

        }

    }

}

public static void main(String[] args)

{

    int L = 30;

    ra1_dict = new HashMap<>();

    ramanujan_On4(L);

    for(Map.Entry<Integer,

             List<Integer>> x: ra1_dict.entrySet())

    {

        System.out.print(x.getKey() + ": (");

        for(int i = x.getValue().size() - 1; i >= 0; i--)

        {

            if (i == 0)

                System.out.print(x.getValue().get(i) + ")");

            else

                System.out.print(x.getValue().get(i) + ", ");   

        }

        System.out.println();

    }

}

}

Python3

import time

def ramanujan_On4(limit):

    dictionary = dict()

    for a in range(0, limit):

        for b in range(0, limit):

            for c in range(0, limit):

                for d in range(0, limit):

                    if ((a != b) and (a != c) and (a != d)

                        and (b != c) and (b != d)

                            and (c != d)):

                        x = a ** 3 + b ** 3

                        y = c ** 3 + d ** 3

                        if (x) == (y):

                            number = a ** 3 + b ** 3

                            dictionary[number] = a, b, c, d

    return dictionary

L = 30

ra1_dict = ramanujan_On4(L)

for i in sorted(ra1_dict):

    print(f'{i}: {ra1_dict[i]}', end ='n')

C#

using System;

using System.Collections.Generic;

class GFG {

  static Dictionary<int, List<int>> ra1_dict;

  static void Ramanujan_On4(int limit) {

    for (int a = 0; a < limit; a++) {

      for (int b = 0; b < limit; b++) {

        for (int c = 0; c < limit; c++) {

          for (int d = 0; d < limit; d++) {

            if ((a != b) && (a != c) && (a != d) &&

                (b != c) && (b != d) && (c != d)) {

              int x = (int)Math.Pow(a, 3) +

                (int)Math.Pow(b, 3);

              int y = (int)Math.Pow(c, 3) +

                (int)Math.Pow(d, 3);

              if (x == y) {

                int number = (int)Math.Pow(a, 3) +

                  (int)Math.Pow(b, 3);

                ra1_dict[number] = new List<int>{a, b, c, d};

              }

            }

          }

        }

      }

    }

  }

  static void Main(string[] args) {

    int L = 30;

    ra1_dict = new Dictionary<int, List<int>>();

    Ramanujan_On4(L);

    foreach (var x in ra1_dict) {

      Console.Write(x.Key + ": (");

      for (int i = x.Value.Count - 1; i >= 0; i--) {

        if (i == 0)

          Console.Write(x.Value[i] + ")");

        else

          Console.Write(x.Value[i] + ", ");

      }

      Console.WriteLine();

    }

  }

}

Javascript

<script>

      function ramanujan_On4(limit) {

        var dictionary = {};

        for (var a = 0; a < limit; a++) {

          for (var b = 0; b < limit; b++) {

            for (var c = 0; c < limit; c++) {

              for (var d = 0; d < limit; d++) {

                if (

                  a !== b &&

                  a !== c &&

                  a !== d &&

                  b !== c &&

                  b !== d &&

                  c !== d

                ) {

                  var x = Math.pow(a, 3) + Math.pow(b, 3);

                  var y = Math.pow(c, 3) + Math.pow(d, 3);

                  if (x == y) {

                   var number =

                   Math.pow(a, 3) + Math.pow(b, 3);

                   dictionary[number] =

                   [" " + a, " " + b, " " + c, d];

                  }

                }

              }

            }

          }

        }

        return dictionary;

      }

      var L = 30;

      var ra1_dict = ramanujan_On4(L);

      var temp = Object.keys(ra1_dict)

        .sort()

        .reduce((r, k) => ((r[k] = ra1_dict[k]), r), {});

      for (const [key, value] of Object.entries(temp)) {

        document.write(key + ": (" + value.reverse() + ")" +

        "<br>");

      }

</script>

Output:

1729: (9, 10, 1, 12)
4104: (9, 15, 2, 16)
13832: (18, 20, 2, 24)
20683: (19, 24, 10, 27)

Time Complexity: O(L4)
Auxiliary Space: O(1)

Efficient Approach: The above approach can also be optimized by using Hashing. Follow the steps below to solve the problem:

  • Initialize an array, say ans[], to stores all the possible Ramanujan Numbers that satisfy the given conditions.
  • Precompute and store the cubes of all numbers from the range [1, L] in an auxiliary array arr[].
  • Initialize a HashMap, say M, that stores the sum of all possible combinations of a pair of cubes generated from the array arr[].
  • Now, generate all possible pairs(i, j) of the array arr[] and if the sum of pairs doesn’t exist in the array, then mark the occurrence of the current sum of pairs in the Map. Otherwise, add the current sum to the array ans[] as it is one of the Ramanujan Numbers.
  • After completing the above steps, print the numbers stored in the array ans[].

Below is the implementation of the above approach:

C++

#include <bits/stdc++.h>

using namespace std;

map<int, vector<int> > ramanujan_On2(int limit)

{

    int cubes[limit + 1];

    for (int i = 0; i <= limit; i++) {

        cubes[i] = i * i * i;

    }

    map<int, vector<int> > dict_sum_pairs;

    map<int, vector<int> > dict_ramnujan_nums;

    for (int a = 0; a <= limit; a++) {

        for (int b = a + 1; b <= limit; b++) {

            int a3 = cubes[a];

            int b3 = cubes[b];

            int sum_pairs = a3 + b3;

            if (dict_sum_pairs.count(sum_pairs)) {

                int c = dict_sum_pairs[sum_pairs][0];

                int d = dict_sum_pairs[sum_pairs][1];

                dict_ramnujan_nums[sum_pairs]

                    = { a, b, c, d };

            }

            else {

                dict_sum_pairs[sum_pairs] = { a, b };

            }

        }

    }

    return dict_ramnujan_nums;

}

int main()

{

    int L = 30;

    map<int, vector<int> > r_dict

        = ramanujan_On2(L);

    for (auto& e : r_dict) {

        cout << e.first << ": (";

        for (int i = 0; i < e.second.size(); i++) {

            if (i == e.second.size() - 1)

                cout << e.second[i] << ")";

            else

                cout << e.second[i] << ", ";

        }

        cout << endl;

    }

    return 0;

}

Java

import java.io.*;

import java.util.*;

class GFG {

  static HashMap<Integer, ArrayList<Integer> >

    ramanujan_On2(int limit)

  {

    int[] cubes = new int[limit + 1];

    for (int i = 0; i <= limit; i++) {

      cubes[i] = i * i * i;

    }

    HashMap<Integer, ArrayList<Integer> > dict_sum_pairs

      = new HashMap<>();

    HashMap<Integer, ArrayList<Integer> >

      dict_ramnujan_nums = new HashMap<>();

    for (int a = 0; a <= limit; a++) {

      for (int b = a + 1; b <= limit; b++) {

        int a3 = cubes[a];

        int b3 = cubes[b];

        int sum_pairs = a3 + b3;

        if (dict_sum_pairs.containsKey(sum_pairs))

        {

          int c

            = dict_sum_pairs.get(sum_pairs).get(

            0);

          int d

            = dict_sum_pairs.get(sum_pairs).get(

            1);

          dict_ramnujan_nums.put(

            sum_pairs,

            new ArrayList<>(

              Arrays.asList(a, b, c, d)));

        }

        else

        {

          dict_sum_pairs.put(

            sum_pairs,

            new ArrayList<>(

              Arrays.asList(a, b)));

        }

      }

    }

    return dict_ramnujan_nums;

  }

  public static void main(String[] args)

  {

    int L = 30;

    HashMap<Integer, ArrayList<Integer> > r_dict

      = ramanujan_On2(L);

    for (Map.Entry<Integer, ArrayList<Integer> > e :

         (Iterable<

          Map.Entry<Integer, ArrayList<Integer> > >)

         r_dict.entrySet()

         .stream()

         .sorted(

           Map.Entry

           .comparingByKey())::iterator) {

      System.out.print(e.getKey() + ": (");

      for (int i = 0; i <= e.getValue().size() - 1;

           i++) {

        if (i == e.getValue().size() - 1)

          System.out.print(e.getValue().get(i)

                           + ")");

        else

          System.out.print(e.getValue().get(i)

                           + ", ");

      }

      System.out.println();

    }

  }

}

Python3

from array import *

import time

def ramanujan_On2(limit):

    cubes = array('i', [])

    dict_sum_pairs = dict()

    dict_ramnujan_nums = dict()

    sum_pairs = 0

    for i in range(0, limit):

        cubes.append(i ** 3)

    for a in range(0, limit):

        for b in range(a + 1, limit):

            a3, b3 = cubes[a], cubes[b]

            sum_pairs = a3 + b3

            if sum_pairs in dict_sum_pairs:

                c, d = dict_sum_pairs.get(sum_pairs)

                dict_ramnujan_nums[sum_pairs] = a, b, c, d

            else:

                dict_sum_pairs[sum_pairs] = a, b

    return dict_ramnujan_nums

L = 30

r_dict = ramanujan_On2(L)

for d in sorted(r_dict):

    print(f'{d}: {r_dict[d]}', end ='n')

C#

using System;

using System.Linq;

using System.Collections.Generic;

class GFG {

  static Dictionary<int, List<int> >

    Ramanujan_On2(int limit)

  {

    int[] cubes = new int[limit + 1];

    for (int i = 0; i <= limit; i++) {

      cubes[i] = i * i * i;

    }

    Dictionary<int, List<int> > dict_sum_pairs

      = new Dictionary<int, List<int> >();

    Dictionary<int, List<int> > dict_ramanujan_nums

      = new Dictionary<int, List<int> >();

    for (int a = 0; a <= limit; a++) {

      for (int b = a + 1; b <= limit; b++) {

        int a3 = cubes[a];

        int b3 = cubes[b];

        int sum_pairs = a3 + b3;

        if (dict_sum_pairs.ContainsKey(sum_pairs)) {

          int c = dict_sum_pairs[sum_pairs][0];

          int d = dict_sum_pairs[sum_pairs][1];

          dict_ramanujan_nums[sum_pairs]

            = new List<int>(

            new int[] { a, b, c, d });

        }

        else {

          dict_sum_pairs[sum_pairs]

            = new List<int>(new int[] { a, b });

        }

      }

    }

    return dict_ramanujan_nums;

  }

  static void Main(string[] args)

  {

    int L = 30;

    Dictionary<int, List<int> > r_dict

      = Ramanujan_On2(L);

    foreach(KeyValuePair<int, List<int> > e in

            r_dict.OrderBy(key => key.Key))

    {

      Console.Write(e.Key + ": (");

      for (int i = 0; i <= e.Value.Count - 1; i++) {

        if (i == e.Value.Count - 1)

          Console.Write(e.Value[i] + ")");

        else

          Console.Write(e.Value[i] + ", ");

      }

      Console.WriteLine();

    }

  }

}

Javascript

function ramanujan_On2(limit) {

  let cubes = [];

  let dict_sum_pairs = {};

  let dict_ramanujan_nums = {};

  let sum_pairs = 0;

  for (let i = 0; i < limit; i++) {

    cubes.push(i ** 3);

  }

  for (let a = 0; a < limit; a++) {

    for (let b = a + 1; b < limit; b++) {

      let a3 = cubes[a];

      let b3 = cubes[b];

      sum_pairs = a3 + b3;

      if (dict_sum_pairs[sum_pairs]) {

        let [c, d] = dict_sum_pairs[sum_pairs];

        dict_ramanujan_nums[sum_pairs] = [a, b, c, d];

      } else {

        dict_sum_pairs[sum_pairs] = [a, b];

      }

    }

  }

  return dict_ramanujan_nums;

}

const L = 30;

const r_dict = ramanujan_On2(L);

for (let d in r_dict) {

  console.log(`${d}: ${r_dict[d]}`);

}

Output:

1729: (9, 10, 1, 12)
4104: (9, 15, 2, 16)
13832: (18, 20, 2, 24)
20683: (19, 24, 10, 27)

Time Complexity: O(L2)
Auxiliary Space: O(L2)

Last Updated :
15 Feb, 2023

Like Article

Save Article



Знаток

(413),
на голосовании



2 года назад

Голосование за лучший ответ

Elepsis Eclipse

Гений

(61060)


2 года назад

cache = {}
twice = {}

a = 0
while len(twice) < 5:
    a += 1
    b = 0
    while b < a:
        b += 1
        n = a ** 3 + b ** 3

        if n in cache:
            twice[n] = [cache[n], [a, b]]
        else:
            cache[n] = [a, b]

for n in twice: print(n, twice[n])

“””
1729 [[10, 9], [12, 1]]
4104 [[15, 9], [16, 2]]
13832 [[20, 18], [24, 2]]
20683 [[24, 19], [27, 10]]
32832 [[30, 18], [32, 4]]
“””

Black Afgano

Просветленный

(21992)


2 года назад

import numpy as np
from itertools import combinations

numbers = np.arange(100)
pairs = np.array(list(combinations(numbers, 2)))
sums = np.apply_along_axis(lambda x: sum(x ** 3), 1, pairs)

nums, counts = np.unique(sums, return_counts=True)
print(*[num for num, count in zip(nums, counts) if count == 2][:5])

Лука Майский

Ученик

(193)


2 года назад

Вообще то в задаче на Степике было начальное число 1729
b = 1729
x = 0
ss = [b]
while x != 33:
for x in range(1, 34):
for y in range(1, 34):
for z in range(1,34):
for t in range(1, 34):
for r in range(1, 34):
if (x**3 + y**3) == (z**3+t**3):
if x != y and x != z and x != t and y != z and y != t and z != t:
a = (x ** 3 + y ** 3)
if a != b:
if a not in ss:
ss.append(a)
ss.sort()
b = a
print(ss)


[1729, 4104, 13832, 20683, 32832]

отступы тут не ставятся, сам расставишь если не совсем того… ))

Денис Проходский

Знаток

(364)


2 года назад

numbers = []
for a in range(1, 50):
for b in range(1, 50):
if a == b:
continue
for c in range(1, 50):
if c == a or c == b:
continue
for d in range(1, 50):
if d == c or d == b or d == a:
continue
if a**3 + b**3 == c**3 + d**3:
i = a**3 + b**3
if i not in numbers:
numbers.append(i)
print(numbers)
,,,,
[1729, 4104, 13832, 39312, 46683, 32832, 110656, 110808, 40033, 20683, 65728, 64232]

Александр Фролов

Ученик

(103)


7 месяцев назад

answer=[]
for i in range(1, 33):
____for j in range(1, 33):
________for x in range(1, 33):
____________for y in range(1, 33):
________________if i ** 3 + j ** 3 == x ** 3 + y ** 3 and i < x < y < j:
____________________answer.append(x ** 3 + y ** 3)
print(sorted(answer))

””
[1729, 4104, 13832, 20683, 32832]
””

УсяКуся

Профи

(531)


6 месяцев назад

Это все здорово, но на степике к этому моменту мы ещё не прошли массивы. Как это решить без массивов?

wmzУченик (237)

3 месяца назад

синтаксис name = [] – это объявление пустого списка.
массив в питоне подключается import array и при объявление указывается тип данных – array(‘i’, [-1, 1, 2, 6, 3, 4]) где i – integer + свои методы + хранится как непрерывная последовательность ячеек в памяти.
Списки называют массивом потому что массивы поддерживают списочные методы и по работе через те жи индексы схожи, но они отличаются между собой и по способу представления объектов в памяти и по типу хранимых объектов.

УсяКусяПрофи (531)

3 месяца назад

Мне это известно, но эта задача из курса на степике, и к тому моменту массивы не были пройдены, то есть решение должно быть другим

Ващенко Виталий

Ученик

(127)


1 месяц назад

Мой вариант с выводом только пяти чисел начиная с 1729 по возрастанию. Как сказано на степике.

counter, flag = 1, False
for a in range(1, 41):
__for c in range(1, a):
____for d in range(1, c + 1):
______for b in range(1, d):
________if a ** 3 + b ** 3 == d ** 3 + c ** 3:
__________print(a ** 3 + b ** 3)
__________counter += 1
__________if counter == 6:
____________flag = True
____________break
__if flag:
____break

«Что ты несёшь? Этого не может быть!»

В качестве эпиграфа я взял то, что сказала мне мама, узнав от меня об этой маленькой математической аномалии. И это именно аномалия. В конце концов, это противоречит основам логики. Как может сумма натуральных чисел равняться не только отрицательной величине, но ещё и отрицательной дроби? Что за дребедень?

Прежде чем начать: мне указали на то, что в данной статье слово «сумма» я использую в нетрадиционном смысле, ибо все ряды, о которых я говорю, не стремятся естественным образом к определённому числу. Так что речь идёт о другом типе сумм, а именно о суммировании методом Чезаро. Для всех, кто интересуется математикой: суммирование по Чезаро присваивает значения некоторым бесконечным суммам, которые не сходятся в обычном смысле. Согласно Википедии, «сумма Чезаро определяется как предел последовательности средних арифметических первых n частичных сумм ряда при n, стремящемся к бесконечности». Добавлю, что в данной статье используется понятие счётной бесконечности, то есть идёт речь о таком бесконечном множестве чисел, при котором, имея достаточно времени, можно сосчитать до любого числа множества. Это позволяет мне применять в уравнениях некоторые обычные математические свойства, такие как коммутативность (аксиома, которую я использую на протяжении всей статьи).

Сриниваса Рамануджан Айенгор (1887—1920), выдающийся индийский математик

Сриниваса Рамануджан Айенгор (1887—1920), выдающийся индийский математик.

Для тех из вас, кто незнаком с рядом, известным как суммирование методом Рамануджана (Сриниваса Рамануджан (Srinivasa Ramanujan) — выдающийся индийский математик), объясняю: такое суммирование означает, что, складывая все натуральные числа, то есть 1, 2, 3, 4 и так далее, вплоть до бесконечности, вы получите результат −1/12. Ага, −0,08333333333.

суммирование рамануджана
 

Вы не верите мне? Читайте дальше, и узнаете, как я доказываю это путём доказательства истинности двух одинаково безумных утверждений:

1. 1 − 1 + 1 − 1 + 1 − 1 … = 1/2

2. 1 − 2 + 3 − 4 + 5 − 6 … = 1/4

Прежде всего, расскажу о главном — о волшебном преобразовании, без которого невозможны доказательства двух данных утверждений.

Возьмём ряд A, который представляет собой бесконечное повторение 1 − 1 + 1 − 1 + 1 − 1. Я запишу это так:

A = 1 − 1 + 1 − 1 + 1 − 1 …

Теперь маленький трюк: вычту А из 1.

1 − A = 1 − (1 − 1 + 1 − 1 + 1 − 1 …)

Пока всё правильно? Настало время перейти к волшебству. Упростив правую часть уравнения, я получаю кое-что весьма странное:

1 − A = 1 − 1 + 1 − 1 + 1 − 1 + 1 …

Не правда ли, что-то такое уже было? Подсказываю: это A. Да, в правой части уравнения оказался ряд, с которого мы начали. Теперь я могу заменить всю правую часть на букву A, немного поупражняться в применении алгебры средней школы — и опля!

1 − А = А

1 − А + А = А + А

1 = 2А

1/2 = А

Эта маленькая прелесть — ряд Гранди, названный в честь итальянского математика, философа и священника Гвидо Гранди (Guido Grandi). Вот и всё, что есть интересного в этом ряде, и, хотя лично для меня он самый замечательный, с ним не связано никаких крутых историй или открытий. Однако именно он позволяет построить доказательство для многих интересных вещей, включая очень важное для квантовой механики и даже для теории струн уравнение. Но об этом чуть позже. А пока перейдём к доказательству утверждения №2: 1 − 2 + 3 − 4 + 5 − 6 … = 1/4.

Приступим к делу так же, как и выше. Пусть мы имеем ряд B: В = 1 − 2 + 3 − 4 + 5 − 6 … Теперь с этим можно поиграть. Для начала вычтем B из A. По правилам математики мы получаем следующее:

A − B = (1 − 1 + 1 − 1 + 1 − 1 …) − (1 − 2 + 3 − 4 + 5 − 6 …)

A − B = (1 − 1 + 1 − 1 + 1 − 1 …) − 1 + 2 − 3 + 4 − 5 + 6 …

Затем слегка перемешаем элементы, чтобы получился ещё один интересный паттерн.

A − B = (1 − 1) + (−1 + 2) + (1 − 3) + (−1 + 4) + (1 − 5) + (−1 + 6) …

A − B = 0 + 1 − 2 + 3 − 4 + 5 …

И снова мы пришли к ряду, с которого начали, а поскольку нам уже известно, что A = 1/2, мы, используя основы алгебры, можем завершить доказательство нашего второго умопомрачительного факта.

А − В = В

А = 2В

1/2 = 2B

1/4 = B

Вуаля! У данного уравнения нет эффектного названия, ибо известно оно давно, и за долгие годы многие математики сумели выполнить его доказательство, что, однако не помешало им считать это уравнение парадоксальным. Как бы то ни было, оно будоражило умы учёных и даже помогло Эйлеру более широко подойти к решению «базельской проблемы», а также привело к исследованию важных математических функций, таких как дзета-функция Римана.

А теперь вишенка на торте, которую вы так долго ждали, — гвоздь программы. Первые шаги похожи на те, которые мы делали раньше: возьмём ряд C = 1 + 2 + 3 + 4 + 5 + 6 …, а дальше, как вы, возможно, догадались, вычтем C из B.

B − C = (1 − 2 + 3 − 4 + 5 − 6 …) — (1 + 2 + 3 + 4 + 5 + 6)

Поскольку математика по-прежнему безупречна, поменяем некоторые числа местами, чтобы получить кое-что знакомое, но, вероятно, не то, о чём вы подумали.

В − С = (1 − 2 + 3 − 4 + 5 − 6 …) − 1 − 2 − 3 − 4 — 5 − 6 …

В − С = (1 − 1) + (−2 − 2) + (3 − 3) + (−4 − 4) + (5 − 5) + (−6 − 6) …

B − C = 0 − 4 + 0 − 8 + 0 − 12 …

В − С = −4 − 8 − 12 …

Это не то, что вы ожидали, верно? Но сейчас вы не сможете удержаться от возгласа «Вау!», ибо я готов выполнить ещё один, последний трюк, который стоит того, чтобы им восхищаться. Возможно, вы заметили, что все числа с правой стороны кратны числу −4. Следовательно, мы можем вынести этот постоянный множитель за скобки — и вновь прийти к тому, с чего начали!

В − С = −4 (1 + 2 + 3) …

B − C = −4C

B = −3C

А поскольку, как мы выяснили ранее, B = 1/4, получаем наш волшебный результат:

1/4 = −3C

1/−12 = C, или C = −1/12.

Теперь объясню, почему этот результат важен. Во-первых, он используется в теории струн. Увы, в её первоначальной версии (в теории бозонных струн), а не в версии Стивена Хокинга (Stephen Hawking). К сожалению, теория бозонных струн несколько устарела, и сегодня учёные предпочитают суперсимметричную теорию струн, но исходная теория всё ещё используется для понимания суперструн, которые являются неотъемлемыми элементами вышеупомянутой обновлённой теории струн.

Во-вторых, суммирование по методу Рамануджана оказало большое влияние на развитие общей физики, особенно при осмыслении явления, известного как эффект Казимира. Хендрик Казимир (Hendrik Casimir) предсказал, что две незаряженные проводящие пластины, помещённые в вакуум, будут притягиваться друг к другу из-за присутствия виртуальных частиц, порождаемых квантовыми флуктуациями. Моделируя количество энергии между пластинами, Казимир использовал то самое уравнение, истинность которого мы только что доказали. Вот почему этот результат такой важный.

Итак, вы познакомились с открытым в начале 1900-х годов суммированием по методу Рамануджана, которое, хоть и прошло сто лет, всё ещё играет важную роль при решении проблем во многих областях физики и которое, если заключать пари с несведущими людьми, всё ещё может приносить победу.

P.S. Если у вас не пропал интерес к безумному уравнению Рамануджана и вы хотите узнать больше, то у меня есть для вас ссылка на беседу с двумя физиками. Они пытаются объяснить данное уравнение и показать его полезность и значимость. Это красиво, коротко и очень интересно.

Из серии рассказов на математические темы «Канторовский рай» («Cantor’s Paradise»).

Простые числа Рамануджана – это простые числа , удовлетворяющие неравенству согласно С. Рамануджану , вытекающему из его обобщения постулата Бертрана , который Рамануджан доказал заново. Постулат Бертрана гласит, что существует по крайней мере одно простое число для всех чисел между и . Рамануджан простых чисел определяются как маленькие числа, так что есть между и по крайней мере простых чисел для всех из них . Рамануджан доказал, что это есть для всех. Название Ramanujan prime было введено Джонатаном Сондоу в 2005 году.
{ Displaystyle х  geq 1} Икс2xR_ {n}{ Displaystyle х  geq R_ {п}} Икс{ displaystyle { tfrac {x} {2}}}пп

Пусть на функцию простого числа , то есть, это число простых чисел, не больше . Тогда –е простое число Рамануджана – это наименьшее число, для которого:
{ Displaystyle х  mapsto  pi (x)} пи (х)ИкспR_ {n}

{ displaystyle  pi (x) -  pi  left ({ frac {x} {2}}  right)  geq n} для всех { Displaystyle х  geq R_ {п}}

Другими словами, это самые маленькие числа , так что между ними и по крайней мере простые числа для всех из них . Поскольку функция может расти только в простом положении , оно должно быть простым числом, и применимо следующее:
R_ {n}{ Displaystyle х  geq R_ {п}}{ displaystyle { tfrac {x} {2}}}Иксп{ Displaystyle х  mapsto  pi (x) -  pi ({ tfrac {x} {2}})}ИксR_ {n}

{ displaystyle  pi (R_ {n}) -  pi  left ({ frac {R_ {n}} {2}}  right) = n}

Первые простые числа Рамануджана:

2, 11, 17, 29, 41, 47, 59, 67, 71, 97, 101, 107, 127, 149, 151, 167, 179, 181, 227, 229, 233, 239, 241, 263, 269, 281, 307, 311, 347, 349, 367, 373, 401, 409, 419, 431, 433, 439, 461, 487, 491, … (последовательность A104272 в OEIS )

Постулат Бертрана в точности так (с ).
п = 1{ displaystyle R_ {1} = 2}

Рамануджан доказал существование этих простых чисел, найдя неравенство

{ displaystyle  pi (x) -  pi  left ({ frac {x} {2}}  right)> { frac {1} { log x}}  left ({ frac {x} { 6}} - 3 { sqrt {x}}  right)}

для производных. Правая сторона монотонно растет в сторону бесконечности для .
{ displaystyle x> 300}х  к  infty

характеристики

Это касается всех п  geq 1

{ Displaystyle 2n ,  ln (2n) <R_ {n} <4n ,  ln (4n)},

где обозначает на натуральный логарифм , а также
 ln

{ displaystyle p_ {2n} <R_ {n} <p_ {3n}}для ,п  geq 2

где -м первична.
p_ {n}п

Асимптотически применяется

{ Displaystyle R_ {n}  sim p_ {2n}} За { displaystyle n  to  infty,}

откуда следует с теоремой о простых числах:

{ Displaystyle R_ {п}  sim 2n ,  ln (2n)}

Приведенные выше результаты получены Джонатаном Сондоу, за исключением неравенства , которое предположил Сондоу и которое доказал Шанта Лайшрам.
{ displaystyle R_ {n} <p_ {3n}}

пример

Первые простые числа:

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, … (Следуйте A000040 в OEIS )

Рассмотрим следующие два свойства (где число простых чисел , и в -м Рамануджана простое число):
 пи (х){ displaystyle  leq x}R_ {n}п

{ displaystyle  pi (x) -  pi  left ({ frac {x} {2}}  right)  geq n} для всех { Displaystyle х  geq R_ {п}}
{ displaystyle  pi (R_ {n}) -  pi  left ({ frac {R_ {n}} {2}}  right) = n}

а теперь сначала рассмотрим их :
{ Displaystyle х  in  mathbb {N}, х  leq 228}

Иллюстрация простых чисел Рамануджана R_ {n}

Икс  пи (х) { displaystyle { frac {x} {2}}} { displaystyle  pi  left ({ frac {x} {2}}  right)} { displaystyle  pi (x) -  pi  left ({ frac {x} {2}}  right)} Замечания п R_ {n} { Displaystyle  пи (R_ {п})} { displaystyle { frac {R_ {n}} {2}}} { displaystyle  pi  left ({ frac {R_ {n}} {2}}  right)} { displaystyle  pi (R_ {n}) -  pi  left ({ frac {R_ {n}} {2}}  right) { stackrel {!} {=}} n}
1 0 0,5 0 0 0
2 1 1 0 1 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 1} 1 2 1 1 0 1
3 2 1.5 0 2 1 2 1 1 0 1
4-й 2 2 1 1 1 2 1 1 0 1
5 3 2,5 1 2 1 2 1 1 0 1
Шестой 3 3 2 1 1 2 1 1 0 1
7-е 4-й 3.5 2 2 1 2 1 1 0 1
8-е 4-й 4-й 2 2 1 2 1 1 0 1
9 4-й 4.5 2 2 1 2 1 1 0 1
10 4-й 5 3 1 последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 1} 1 2 1 1 0 1
11 5 5.5 3 2 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 2} 2 11 5 5.5 3 2
12 5 Шестой 3 2 2 11 5 5.5 3 2
13 Шестой 6.5 3 3 2 11 5 5.5 3 2
14-е Шестой 7-е 4-й 2 2 11 5 5.5 3 2
15-е Шестой 7,5 4-й 2 2 11 5 5.5 3 2
16 Шестой 8-е 4-й 2 последний раз { Displaystyle  пи (х) -  пи ({ гидроразрыва {х} {2}})  leq 2} 2 11 5 5.5 3 2
17-е 7-е 8,5 4-й 3 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 3} 3 17-е 7-е 8,5 4-й 3
18-е 7-е 9 4-й 3 3 17-е 7-е 8,5 4-й 3
19-е 8-е 9,5 4-й 4-й 3 17-е 7-е 8,5 4-й 3
20-е 8-е 10 4-й 4-й 3 17-е 7-е 8,5 4-й 3
21-е 8-е 10,5 4-й 4-й 3 17-е 7-е 8,5 4-й 3
22-е 8-е 11 5 3 3 17-е 7-е 8,5 4-й 3
23 9 11,5 5 4-й 3 17-е 7-е 8,5 4-й 3
24 9 12 5 4-й 3 17-е 7-е 8,5 4-й 3
25-е 9 12,5 5 4-й 3 17-е 7-е 8,5 4-й 3
26-е 9 13 Шестой 3 3 17-е 7-е 8,5 4-й 3
27 9 13,5 Шестой 3 3 17-е 7-е 8,5 4-й 3
28 9 14-е Шестой 3 последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 3} 3 17-е 7-е 8,5 4-й 3
29 10 14,5 Шестой 4-й отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 4} 4-й 29 10 14,5 Шестой 4-й
30-е 10 15-е Шестой 4-й 4-й 29 10 14,5 Шестой 4-й
31 год 11 15.5 Шестой 5 4-й 29 10 14,5 Шестой 4-й
32 11 16 Шестой 5 4-й 29 10 14,5 Шестой 4-й
33 11 16,5 Шестой 5 4-й 29 10 14,5 Шестой 4-й
34 11 17-е 7-е 4-й 4-й 29 10 14,5 Шестой 4-й
35 год 11 17,5 7-е 4-й 4-й 29 10 14,5 Шестой 4-й
36 11 18-е 7-е 4-й 4-й 29 10 14,5 Шестой 4-й
37 12 18,5 7-е 5 4-й 29 10 14,5 Шестой 4-й
38 12 19-е 8-е 4-й 4-й 29 10 14,5 Шестой 4-й
39 12 19,5 8-е 4-й 4-й 29 10 14,5 Шестой 4-й
40 12 20-е 8-е 4-й последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 4} 4-й 29 10 14,5 Шестой 4-й
41 год 13 20,5 8-е 5 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 5} 5 41 год 13 20,5 8-е 5
42 13 21-е 8-е 5 5 41 год 13 20,5 8-е 5
43 14-е 21,5 8-е Шестой 5 41 год 13 20,5 8-е 5
44 14-е 22-е 8-е Шестой 5 41 год 13 20,5 8-е 5
45 14-е 22,5 8-е Шестой 5 41 год 13 20,5 8-е 5
46 14-е 23 9 5 последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 5} 5 41 год 13 20,5 8-е 5
47 15-е 23,5 9 Шестой отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 6} Шестой 47 15-е 23,5 9 Шестой
48 15-е 24 9 Шестой Шестой 47 15-е 23,5 9 Шестой
49 15-е 24,5 9 Шестой Шестой 47 15-е 23,5 9 Шестой
50 15-е 25-е 9 Шестой Шестой 47 15-е 23,5 9 Шестой
51 15-е 25,5 9 Шестой Шестой 47 15-е 23,5 9 Шестой
52 15-е 26-е 9 Шестой Шестой 47 15-е 23,5 9 Шестой
53 16 26,5 9 7-е Шестой 47 15-е 23,5 9 Шестой
54 16 27 9 7-е Шестой 47 15-е 23,5 9 Шестой
55 16 27,5 9 7-е Шестой 47 15-е 23,5 9 Шестой
56 16 28 9 7-е Шестой 47 15-е 23,5 9 Шестой
57 16 28,5 9 7-е Шестой 47 15-е 23,5 9 Шестой
58 16 29 10 Шестой последний раз { Displaystyle  пи (х) -  пи ({ гидроразрыва {х} {2}})  leq 6} Шестой 47 15-е 23,5 9 Шестой
59 17-е 29,5 10 7-е отсюда всегда { Displaystyle  пи (х) -  пи ({ гидроразрыва {х} {2}})  geq 7} 7-е 59 17-е 29,5 10 7-е
60 17-е 30-е 10 7-е 7-е 59 17-е 29,5 10 7-е
61 18-е 30,5 10 8-е 7-е 59 17-е 29,5 10 7-е
62 18-е 31 год 11 7-е 7-е 59 17-е 29,5 10 7-е
63 18-е 31,5 11 7-е 7-е 59 17-е 29,5 10 7-е
64 18-е 32 11 7-е 7-е 59 17-е 29,5 10 7-е
65 18-е 32,5 11 7-е 7-е 59 17-е 29,5 10 7-е
66 18-е 33 11 7-е последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 7} 7-е 59 17-е 29,5 10 7-е
67 19-е 33,5 11 8-е отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 8} 8-е 67 19-е 33,5 11 8-е
68 19-е 34 11 8-е 8-е 67 19-е 33,5 11 8-е
69 19-е 34,5 11 8-е 8-е 67 19-е 33,5 11 8-е
70 19-е 35 год 11 8-е последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 8} 8-е 67 19-е 33,5 11 8-е
71 20-е 35,5 11 9 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 9} 9 71 20-е 35,5 11 9
72 20-е 36 11 9 9 71 20-е 35,5 11 9
73 21-е 36,5 11 10 9 71 20-е 35,5 11 9
74 21-е 37 12 9 9 71 20-е 35,5 11 9
75 21-е 37,5 12 9 9 71 20-е 35,5 11 9
76 21-е 38 12 9 9 71 20-е 35,5 11 9
77 21-е 38,5 12 9 9 71 20-е 35,5 11 9
78 21-е 39 12 9 9 71 20-е 35,5 11 9
79 22-е 39,5 12 10 9 71 20-е 35,5 11 9
80 22-е 40 12 10 9 71 20-е 35,5 11 9
81 год 22-е 40,5 12 10 9 71 20-е 35,5 11 9
82 22-е 41 год 13 9 9 71 20-е 35,5 11 9
83 23 41,5 13 10 9 71 20-е 35,5 11 9
84 23 42 13 10 9 71 20-е 35,5 11 9
85 23 42,5 13 10 9 71 20-е 35,5 11 9
86 23 43 14-е 9 9 71 20-е 35,5 11 9
87 23 43,5 14-е 9 9 71 20-е 35,5 11 9
88 23 44 14-е 9 9 71 20-е 35,5 11 9
89 24 44,5 14-е 10 9 71 20-е 35,5 11 9
90 24 45 14-е 10 9 71 20-е 35,5 11 9
91 24 45,5 14-е 10 9 71 20-е 35,5 11 9
92 24 46 14-е 10 9 71 20-е 35,5 11 9
93 24 46,5 14-е 10 9 71 20-е 35,5 11 9
94 24 47 15-е 9 9 71 20-е 35,5 11 9
95 24 47,5 15-е 9 9 71 20-е 35,5 11 9
96 24 48 15-е 9 последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 9} 9 71 20-е 35,5 11 9
97 25-е 48,5 15-е 10 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 10} 10 97 25-е 48,5 15-е 10
98 25-е 49 15-е 10 10 97 25-е 48,5 15-е 10
99 25-е 49,5 15-е 10 10 97 25-е 48,5 15-е 10
100 25-е 50 15-е 10 последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 10} 10 97 25-е 48,5 15-е 10
101 26-е 50,5 15-е 11 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 11} 11 101 26-е 50,5 15-е 11
102 26-е 51 15-е 11 11 101 26-е 50,5 15-е 11
103 27 51,5 15-е 12 11 101 26-е 50,5 15-е 11
104 27 52 15-е 12 11 101 26-е 50,5 15-е 11
105 27 52,5 15-е 12 11 101 26-е 50,5 15-е 11
106 27 53 16 11 последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 11} 11 101 26-е 50,5 15-е 11
107 28 53,5 16 12 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 12} 12 107 28 53,5 16 12
108 28 54 16 12 12 107 28 53,5 16 12
109 29 54,5 16 13 12 107 28 53,5 16 12
110 29 55 16 13 12 107 28 53,5 16 12
111 29 55,5 16 13 12 107 28 53,5 16 12
112 29 56 16 13 12 107 28 53,5 16 12
113 30-е 56,5 16 14-е 12 107 28 53,5 16 12
114 30-е 57 16 14-е 12 107 28 53,5 16 12
115 30-е 57,5 16 14-е 12 107 28 53,5 16 12
116 30-е 58 16 14-е 12 107 28 53,5 16 12
117 30-е 58,5 16 14-е 12 107 28 53,5 16 12
118 30-е 59 17-е 13 12 107 28 53,5 16 12
119 30-е 59,5 17-е 13 12 107 28 53,5 16 12
120 30-е 60 17-е 13 12 107 28 53,5 16 12
121 30-е 60,5 17-е 13 12 107 28 53,5 16 12
122 30-е 61 18-е 12 12 107 28 53,5 16 12
123 30-е 61,5 18-е 12 12 107 28 53,5 16 12
124 30-е 62 18-е 12 12 107 28 53,5 16 12
125 30-е 62,5 18-е 12 12 107 28 53,5 16 12
126 30-е 63 18-е 12 последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 12} 12 107 28 53,5 16 12
127 31 год 63,5 18-е 13 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 13} 13 127 31 год 63,5 18-е 13
128 31 год 64 18-е 13 13 127 31 год 63,5 18-е 13
129 31 год 64,5 18-е 13 13 127 31 год 63,5 18-е 13
130 31 год 65 18-е 13 13 127 31 год 63,5 18-е 13
131 32 65,5 18-е 14-е 13 127 31 год 63,5 18-е 13
132 32 66 18-е 14-е 13 127 31 год 63,5 18-е 13
133 32 66,5 18-е 14-е 13 127 31 год 63,5 18-е 13
134 32 67 19-е 13 13 127 31 год 63,5 18-е 13
135 32 67,5 19-е 13 13 127 31 год 63,5 18-е 13
136 32 68 19-е 13 13 127 31 год 63,5 18-е 13
137 33 68,5 19-е 14-е 13 127 31 год 63,5 18-е 13
138 33 69 19-е 14-е 13 127 31 год 63,5 18-е 13
139 34 69,5 19-е 15-е 13 127 31 год 63,5 18-е 13
140 34 70 19-е 15-е 13 127 31 год 63,5 18-е 13
141 34 70,5 19-е 15-е 13 127 31 год 63,5 18-е 13
142 34 71 20-е 14-е 13 127 31 год 63,5 18-е 13
143 34 71,5 20-е 14-е 13 127 31 год 63,5 18-е 13
144 34 72 20-е 14-е 13 127 31 год 63,5 18-е 13
145 34 72,5 20-е 14-е 13 127 31 год 63,5 18-е 13
146 34 73 21-е 13 13 127 31 год 63,5 18-е 13
147 34 73,5 21-е 13 13 127 31 год 63,5 18-е 13
148 34 74 21-е 13 последний раз { Displaystyle  пи (х) -  пи ({ гидроразрыва {х} {2}})  leq 13} 13 127 31 год 63,5 18-е 13
149 35 год 74,5 21-е 14-е отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 14} 14-е 149 35 год 74,5 21-е 14-е
150 35 год 75 21-е 14-е последний раз { Displaystyle  пи (х) -  пи ({ гидроразрыва {х} {2}})  leq 14} 14-е 149 35 год 74,5 21-е 14-е
151 36 75,5 21-е 15-е отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 15} 15-е 151 36 75,5 21-е 15-е
152 36 76 21-е 15-е 15-е 151 36 75,5 21-е 15-е
153 36 76,5 21-е 15-е 15-е 151 36 75,5 21-е 15-е
154 36 77 21-е 15-е 15-е 151 36 75,5 21-е 15-е
155 36 77,5 21-е 15-е 15-е 151 36 75,5 21-е 15-е
156 36 78 21-е 15-е 15-е 151 36 75,5 21-е 15-е
157 37 78,5 21-е 16 15-е 151 36 75,5 21-е 15-е
158 37 79 22-е 15-е 15-е 151 36 75,5 21-е 15-е
159 37 79,5 22-е 15-е 15-е 151 36 75,5 21-е 15-е
160 37 80 22-е 15-е 15-е 151 36 75,5 21-е 15-е
161 37 80,5 22-е 15-е 15-е 151 36 75,5 21-е 15-е
162 37 81 год 22-е 15-е 15-е 151 36 75,5 21-е 15-е
163 38 81,5 22-е 16 15-е 151 36 75,5 21-е 15-е
164 38 82 22-е 16 15-е 151 36 75,5 21-е 15-е
165 38 82,5 22-е 16 15-е 151 36 75,5 21-е 15-е
166 38 83 23 15-е последний раз { Displaystyle  пи (х) -  пи ({ гидроразрыва {х} {2}})  leq 15} 15-е 151 36 75,5 21-е 15-е
167 39 83,5 23 16 отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 16} 16 167 39 83,5 23 16
168 39 84 23 16 16 167 39 83,5 23 16
169 39 84,5 23 16 16 167 39 83,5 23 16
170 39 85 23 16 16 167 39 83,5 23 16
171 39 85,5 23 16 16 167 39 83,5 23 16
172 39 86 23 16 16 167 39 83,5 23 16
173 40 86,5 23 17-е 16 167 39 83,5 23 16
174 40 87 23 17-е 16 167 39 83,5 23 16
175 40 87,5 23 17-е 16 167 39 83,5 23 16
176 40 88 23 17-е 16 167 39 83,5 23 16
177 40 88,5 23 17-е 16 167 39 83,5 23 16
178 40 89 24 16 последний раз { displaystyle  pi (x) -  pi ({ frac {x} {2}})  leq 16} 16 167 39 83,5 23 16
179 41 год 89,5 24 17-е отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 17} 17-е 179 41 год 89,5 24 17-е
180 41 год 90 24 17-е последний раз { Displaystyle  пи (х) -  пи ({ гидроразрыва {х} {2}})  leq 17} 17-е 179 41 год 89,5 24 17-е
181 42 90,5 24 18-е отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 18} 18-е 181 42 90,5 24 18-е
182 42 91 24 18-е 18-е 181 42 90,5 24 18-е
183 42 91,5 24 18-е 18-е 181 42 90,5 24 18-е
184 42 92 24 18-е 18-е 181 42 90,5 24 18-е
185 42 92,5 24 18-е 18-е 181 42 90,5 24 18-е
186 42 93 24 18-е 18-е 181 42 90,5 24 18-е
187 42 93,5 24 18-е 18-е 181 42 90,5 24 18-е
188 42 94 24 18-е 18-е 181 42 90,5 24 18-е
189 42 94,5 24 18-е 18-е 181 42 90,5 24 18-е
190 42 95 24 18-е 18-е 181 42 90,5 24 18-е
191 43 95,5 24 19-е 18-е 181 42 90,5 24 18-е
192 43 96 24 19-е 18-е 181 42 90,5 24 18-е
193 44 96,5 24 20-е 18-е 181 42 90,5 24 18-е
194 44 97 25-е 19-е 18-е 181 42 90,5 24 18-е
195 44 97,5 25-е 19-е 18-е 181 42 90,5 24 18-е
196 44 98 25-е 19-е 18-е 181 42 90,5 24 18-е
197 45 98,5 25-е 20-е 18-е 181 42 90,5 24 18-е
198 45 99 25-е 20-е 18-е 181 42 90,5 24 18-е
199 46 99,5 25-е 21-е 18-е 181 42 90,5 24 18-е
200 46 100 25-е 21-е 18-е 181 42 90,5 24 18-е
201 46 100,5 25-е 21-е 18-е 181 42 90,5 24 18-е
202 46 101 26-е 20-е 18-е 181 42 90,5 24 18-е
203 46 101,5 26-е 20-е 18-е 181 42 90,5 24 18-е
204 46 102 26-е 20-е 18-е 181 42 90,5 24 18-е
205 46 102,5 26-е 20-е 18-е 181 42 90,5 24 18-е
206 46 103 27 19-е 18-е 181 42 90,5 24 18-е
207 46 103,5 27 19-е 18-е 181 42 90,5 24 18-е
208 46 104 27 19-е 18-е 181 42 90,5 24 18-е
209 46 104,5 27 19-е 18-е 181 42 90,5 24 18-е
210 46 105 27 19-е 18-е 181 42 90,5 24 18-е
211 47 105,5 27 20-е 18-е 181 42 90,5 24 18-е
212 47 106 27 20-е 18-е 181 42 90,5 24 18-е
213 47 106,5 27 20-е 18-е 181 42 90,5 24 18-е
214 47 107 28 19-е 18-е 181 42 90,5 24 18-е
215 47 107,5 28 19-е 18-е 181 42 90,5 24 18-е
216 47 108 28 19-е 18-е 181 42 90,5 24 18-е
217 47 108,5 28 19-е 18-е 181 42 90,5 24 18-е
218 47 109 29 18-е 18-е 181 42 90,5 24 18-е
219 47 109,5 29 18-е 18-е 181 42 90,5 24 18-е
220 47 110 29 18-е 18-е 181 42 90,5 24 18-е
221 47 110,5 29 18-е 18-е 181 42 90,5 24 18-е
222 47 111 29 18-е 18-е 181 42 90,5 24 18-е
223 48 111,5 29 19-е 18-е 181 42 90,5 24 18-е
224 48 112 29 19-е 18-е 181 42 90,5 24 18-е
225 48 112,5 29 19-е 18-е 181 42 90,5 24 18-е
226 48 113 30-е 18-е последний раз { Displaystyle  пи (х) -  пи ({ гидроразрыва {х} {2}})  leq 18} 18-е 181 42 90,5 24 18-е
227 49 113,5 30-е 19-е отсюда всегда { displaystyle  pi (x) -  pi ({ frac {x} {2}})  geq 19} 19-е 227 49 113,5 30-е 19-е
228 49 114 30-е 19-е 19-е 227 49 113,5 30-е 19-е

веб ссылки

  • Дж. Сондоу: Рамануджан Прайм . В: MathWorld (английский).

Индивидуальные доказательства

  1. Рамануджан: Доказательство постулата Бертрана. В: Журнал Индийского математического общества. 11: 181-182 (1919).
  2. ^ Дж. Сондоу: простые числа Рамануджана и постулат Бертрана. В: American Mathematical Monthly. Том 116, 2009 г., стр. 630-635, Arxiv, pdf.
  3. ^ Первые 1000 и 10000 простых чисел
на основе формулы

Кэрол ((2 n  – 1) 2  – 2)  |
Двойной Мерсенн (2 2 п  – 1  – 1)  |
Факториал ( n!  ± 1)  |
Ферма (2 2 n  + 1)  |
Кубическая ( x 3  –  y 3 ) / ( x  –  y )  |
Kynea ((2 n  + 1) 2  – 2)  |
Лейланд ( x y  +  y x )  |
Мерсенн (2 ч.  – 1)  |
Мельницы ( A 3 n )  |
Пьерпон (2 u ⋅ 3 v  + 1)  |
Primorial ( p n # ± 1)  |
Proth ( к ⋅2 п  + 1)  |
Пифагорейский (4 n  + 1)  |
Quartic ( x 4  +  y 4 )  |
Табит (3⋅2 n  – 1)  |
Вагстафф ((2 р  + 1) / 3)  |
Уильямс (( b-1 ) ⋅ b n  – 1)
Вудалл ( n ⋅2 n  – 1)

Следующее простое число

Колокол  |
Фибоначчи  |
Лукас  |
Моцкин  |
Пелл  |
Перрин

имущественный

Элитист  |
Удачливый  |
Хорошо  |
Счастливый  |
Хиггс  |
Высокий коэффициент  |
Изолированный  |
Пиллаи  |
Рамануджан  |
Обычный  |
Сильный  |
Звезда  |
Стена – Солнце – Солнце  |
Виферих  |
Уилсон

базовый зависимый

Бельфегор  |
Champernowne  |
Двугранный  |
Уникальный  |
Счастливый  |
Кит  |
Длинный  |
Минимальный  |
Mirp  |
Перестановочный  |
Первобытный  |
Палиндром  |
Объединить простое число ((10 n  – 1) / 9)  |
Слабый  |
Смарандаче – Веллин  |
Стробограмматика  |
Тетрадич  |
Магистральный  |
круговой

на основе кортежей

Сбалансированный ( p  –  n , p , p  + n)  |
Чен  |
Кузен ( p , p  + 4)  |
Каннингем ( p , 2 p  ± 1, …)  |
Триплет ( p , p  + 2 или p  + 4, p  + 6)  |
Созвездие  |
Сексуальный ( p , p  + 6)  |
Сейф ( p , ( p  – 1) / 2)  |
Софи Жермен ( p , 2 p  + 1)  |
Четверные ( p , p  + 2, p  + 6, p  + 8)  |
Близнец ( p , p  + 2)  |
Двойная двойная цепь ( n  ± 1, 2 n  ± 1, …)

по размеру

Титаник (более 1000 цифр)  |
Гигантский (10 000+ цифр)  |
Мега (более 1 000 000 цифр)  |
Бева (1 000 000 000+ позиций)

Добавить комментарий