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

Given an integer ‘n’, the task is to find the sum of first ‘n’ prime numbers.
 

First few prime numbers are: 2, 3, 5, 7, 11, 13, 17, 19, 23, ……

Examples: 
 

Input: N = 4
Output: 17
2, 3, 5, 7 are first 4 prime numbers so their sum is equal to 17

Input: N = 40
Output: 3087

Approach:
 

  • Create a sieve which will help us to identify if the number is prime or not in O(1) time.
  • Run a loop starting from 1 until and unless we find n prime numbers.
  • Add all the prime numbers and neglect those which are not prime.
  • Then, display the sum of 1st N prime numbers.

Below is the implementation of the above solution 
 

C++

#include <bits/stdc++.h>

using namespace std;

#define MAX 10000

bool prime[MAX + 1];

void SieveOfEratosthenes()

{

    memset(prime, true, sizeof(prime));

    prime[1] = false;

    for (int p = 2; p * p <= MAX; p++) {

        if (prime[p] == true) {

            for (int i = p * 2; i <= MAX; i += p)

                prime[i] = false;

        }

    }

}

int solve(int n)

{

    int count = 0, num = 1;

    long long int sum = 0;

    while (count < n) {

        if (prime[num]) {

            sum += num;

            count++;

        }

        num++;

    }

    return sum;

}

int main()

{

    SieveOfEratosthenes();

    int n = 4;

    cout << "Sum of 1st N prime numbers are :" << solve(n);

    return 0;

}

Java

public class Improve {

    final static double MAX = 10000 ;

    static boolean prime[] = new boolean [(int) (MAX + 1.0)] ;

    static void SieveOfEratosthenes()

    {

        for(int i = 0; i <= MAX; i++)

            prime[i] = true ;

        prime[1] = false;

        for (int p = 2; p * p <= MAX; p++) {

            if (prime[p] == true) {

                for (int i = p * 2; i <= MAX; i += p)

                    prime[i] = false;

            }

        }

    }

    static int solve(int n)

    {

        int count = 0, num = 1;

        long sum = 0;

        while (count < n) {

            if (prime[num]) {

                sum += num;

                count++;

            }

            num++;

        }

        return (int) sum;

    }

    public static void main(String args[])

    {

        SieveOfEratosthenes();

        int n = 4;

        System.out.println("Sum of 1st N prime numbers are :" + solve(n));

    }

}

Python 3

MAX = 10000

prime = [True for i in range(MAX + 1)]

def SieveOfEratosthenes():

    prime[1] = False

    for p in range(2, MAX + 1):

        if (prime[p] == True):

            i = p * 2

            while(i <= MAX):

                prime[i] = False

                i = i + p

def solve( n):

    count = 0

    num = 1

    total = 0

    while (count < n):

        if ( prime[num] ):

            total = total + num

            count = count + 1

        num = num + 1

    return total

SieveOfEratosthenes()

n = 4

print("Sum of 1st N prime " +

      "numbers are :", solve(n))

C#

using System;

public class GFG{

     static double MAX = 10000 ;

    static bool []prime = new bool [(int)(MAX + 1.0)] ;

    static void SieveOfEratosthenes()

    {

        for(int i = 0; i <= MAX; i++)

            prime[i] = true ;

        prime[1] = false;

        for (int p = 2; p * p <= MAX; p++) {

            if (prime[p] == true) {

                for (int i = p * 2; i <= MAX; i += p)

                    prime[i] = false;

            }

        }

    }

    static int solve(int n)

    {

        int count = 0, num = 1;

        long sum = 0;

        while (count < n) {

            if (prime[num]) {

                sum += num;

                count++;

            }

            num++;

        }

        return (int) sum;

    }

    static public void Main (){

        SieveOfEratosthenes();

        int n = 4;

        Console.WriteLine("Sum of 1st N prime numbers are :" + solve(n));

    }

}

Javascript

<script>

var MAX = 10000 ;

var prime = Array.from({length: parseInt( (MAX + 1.0))}, (_, i) => false);

function SieveOfEratosthenes()

{

    for(i = 0; i <= MAX; i++)

        prime[i] = true ;

    prime[1] = false;

    for (p = 2; p * p <= MAX; p++) {

        if (prime[p] == true) {

            for (i = p * 2; i <= MAX; i += p)

                prime[i] = false;

        }

    }

}

function solve(n)

{

    var count = 0, num = 1;

    var sum = 0;

    while (count < n) {

        if (prime[num]) {

            sum += num;

            count++;

        }

        num++;

    }

    return parseInt( sum);

}

SieveOfEratosthenes();

var n = 4;

document.write("Sum of 1st N prime numbers are :" + solve(n));

</script>

Output:

Sum of 1st N prime numbers are :17

Note(For competitive programming): In a problem which contains a large number of queries, a vector can be used to store all the prime numbers in the range of 10^8, this will take extra O(N) space. We can also use prefix array to store the sum of first N prime numbers in the range of 10^8.
 

image

Посвящается памяти Джона Форбса Нэша-младшего

Вы ведь помните, что такое «простые числа»? Эти числа не делятся ни на какие другие, кроме самих себя и 1. А теперь я задам вопрос, которому уже 3000 лет:

  • 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, p. Чему равно p? 31. Каким будет следующее p? 37. А следующее p ? 41. А следующее? 43. Да, но… как нам узнать, каким будет следующее значение?

Придумайте суждение или формулу, которые (хотя бы с грехом пополам) прогнозируют, каким будет следующее простое число, (в любом заданном ряду чисел), и ваше имя навечно будет связано с одним из величайших достижений человеческого мозга. Вы встанете в один ряд с Ньютоном, Эйнштейном и Гёделем. Разберитесь в поведении простых чисел, и можете потом всю жизнь почивать на лаврах.

Введение

Свойства простых чисел изучались многими великими людьми в истории математики. С первого доказательства бесконечности простых чисел Евклида до формулы произведения Эйлера, связавшей простые числа с дзета-функцией. От формулировки теоремы о простых числах Гаусса и Лежандра до её доказательства, придуманного Адамаром и Валле-Пуссеном. Тем не менее, Бернхард Риман до сих пор считается математиком, сделавшим единственное крупнейшее открытие в теории простых чисел. В его опубликованной в 1859 году статье, состоявшей всего из восьми страниц, были сделаны новые, ранее неизвестные открытия о распределении простых чисел. Эта статья по сей день считается одной из самых важных в теории чисел.

После публикации статья Римана оставалась главным трудом в теории простых чисел и на самом деле стала основной причиной доказательства в 1896 году теоремы о распределении простых чисел. С тех пор было найдено несколько новых доказательств, в том числе элементарные доказательства Сельберга и Эрдёша. Однако до сих пор остаётся загадкой гипотеза Римана о корнях дзета-функции.

Сколько всего простых чисел?

Давайте начнём с простого. Все мы знаем, что число является или простым, или составным. Все составные числа состоят из простых и могут быть разложены на их произведения (a x b). В этом смысле простые числа являются «строительными блоками» или «фундаментальными элементами» чисел. В 300 году до нашей эры Евклид доказал, что их количество бесконечно. Его изящное доказательство имеет следующий вид:

Теорема Евклида

Предположим, что множество простых чисел не бесконечно. Создадим список всех простых чисел. Тогда P пусть будет произведением всех простых чисел списка (перемножим все простые числа из списка). Прибавим к результату 1: Q = P +1. Как и все числа, это натуральное число Q должно быть или простым, или составным:

  • Если Q простое, то мы нашли простое число, которого нет в нашем «списке всех простых чисел».
  • Если Q не простое, то оно составное, т.е. составлено из простых чисел, одно из которых, p, будет делителем Q (потому что все составные числа являются произведениями простых). Каждое простое p, из которого составлено P, очевидно является делителем P. Если p является делителем и для P, и для Q, то оно должно быть и делителем для их разности, то есть единицы. Ни одно простое число не является делителем 1, поэтому число p не может находиться в списке — ещё одно противоречие тому, что список содержит все простые числа. Всегда будет существовать ещё одно простое p, не находящееся в списке и являющееся делителем Q. Следовательно, простых чисел бесконечно много.

Почему простые числа так сложно понять?

Сам факт того, что любой новичок понимает изложенную выше задачу, красноречиво говорит о её сложности. Даже арифметические свойства простых чисел, несмотря на активное изучение, плохо нами понимаются. Научное сообщество настолько уверено в нашей неспособности понимать поведение простых чисел, что разложение на множители больших чисел (определение двух простых чисел, произведением которых является число) остаётся одной из фундаментальных основ теории шифрования. На это можно смотреть следующим образом:

Мы хорошо понимаем составные числа. Это все числа, не являющиеся простыми. Они состоят из простых чисел, но мы можем с лёгкостью написать формулу, прогнозирующую и/или генерирующую составные числа. Такой «фильтр составных чисел» называется решетом. Самым знаменитым примером является так называемое «решето Эратосфена», придуманное примерно в 200 году до нашей эры. Его работа заключается в том, что оно просто помечает значения, кратные каждому простому числу вплоть до заданной границы. Допустим, возьмём простое число 2, и пометим 4,6,8,10, и так далее. Затем возьмём 3, и пометим 6,9,12,15, и так далее. В результате у нас останутся только простые числа. Хоть его очень легко понять, решето Эратосфена, как вы можете представить, не особо эффективно.

Одной из функций, серьёзно упрощающих нашу работу, будет 6n ± 1. Эта простая функция выдаёт все простые числа, за исключением 2 и 3, и удаляет все числа, кратные 3, а также все чётные числа. Подставим n = 1,2,3,4,5,6,7 и получим следующие результаты: 5,7,11,13,17,19,23,25,29,31,35,37,41,43. Единственными не простыми числами, сгенерированными функцией, являются 25 и 35, которые можно разложить на множители 5 x 5 и 5 x 7. Следующими не простыми числами, как вы могли догадаться, будут, 49 = 7 x 7, 55 = 5 x 11, и так далее. Всё легко, правда?

Для визуального отображения этого я использовал то, что называю «лестницей составных чисел» — удобный способ показать, как расположены и сочетаются сгенерированные функцией составные числа. В первых трёх столбцах показанного ниже изображения мы видим, как красиво поднимаются по каждой лестнице составных чисел простые числа 5, 7 и 11, вплоть до значения 91. Хаос, возникающий в четвёртом столбце, показывающем, как решето убрало всё, кроме простых чисел — отличная иллюстрация того, почему простые числа так сложно понять.


Фундаментальные ресурсы

Как же это всё связано с понятием, о котором вы могли слышать — с «гипотезой Римана»? Ну если говорить просто, то чтобы больше понять о простых числах, математики в 19-м веке перестали пытаться спрогнозировать местонахождение простых чисел с абсолютной точностью, и вместо этого начали рассматривать феномен простых чисел в целом. Мастером этого аналитического подхода стал Риман, и в рамках такого подхода была создана его знаменитая гипотеза. Однако прежде чем я начну её объяснять, необходимо познакомиться с некоторыми фундаментальными ресурсами.

Гармонические ряды

Гармонические ряды — это бесконечные ряды чисел, которые впервые исследовал в 14-м веке Николай Орем. Его имя связано с концепцией музыкальных гармоник — обертонов, которые выше частоты основного тона. Ряды имеют следующий вид:

Первые члены бесконечного гармонического ряда

Орем доказал, что эта сумма является несходящейся (то есть не имеющей конечного предела; она не приближается и не стремится к какому-то определённому числу, а устремлена в бесконечность).

Дзета-функции

Гармонические ряды являются особым случаем более общего типа функций под названием дзета-функция ζ(s). Вещественная дзета-функция задаётся для двух вещественных чисел r и n:

Дзета-функция

Если подставить n = 1, то мы получим гармонический ряд, который расходится. Однако при всех значениях n > 1 ряд сходится, то есть сумма при увеличении r стремится к некому числу, а не уходит в бесконечность.

Формула произведения Эйлера

Первая связь между дзета-функциями и простыми числами была установлена Эйлером, когда он показал, что для двух натуральных (целочисленных и больше нуля) чисел n и p, где p является простым, справедливо следующее:

Произведение Эйлера для двух чисел n и p, где оба больше нуля, а p является простым.

Это выражение впервые появилось в статье 1737 года под названием Variae observationes circa series infinitas. Из выражения следует, что сумма дзета-функции равна произведению величин, обратной единице, минус величина, обратная простым числам в степени s. Эта потрясающая связь заложила фундамент современной теории простых чисел, в которой с тех пор дзета-функция ζ(s) начала использоваться как способ изучения простых чисел.

Доказательство формулы — это одно из самых любимых моих доказательств, поэтому я изложу его, хоть для наших целей это и не обязательно (но настолько же оно прекрасно!):

Доказательство формулы произведения Эйлера

Эйлер начинает с общей дзета-функции

Дзета-функция

Сначала он умножает обе части на второй член:

Дзета-функция, умноженная на 1/2s

Затем он вычитает получившееся выражение из дзета-функции:

Дзета-функция минус 1/2s, умноженное на дзета-функцию

Он повторяет этот процесс, далее умножая обе стороны на третий член

Дзета-функция минус 1/2s, умноженное на дзета-функцию, умноженное на 1/3s

А затем вычитает получившееся выражение из дзета-функции

Дзета-функция минус 1/2s, умноженное на дзета-функцию минус 1/3s, умноженное на дзета-функцию

Если повторять этот процесс до бесконечности, в конце концов у нас останется выражение:

1 минус все величины, обратные простым числам, умноженное на дзета-функцию

Если этот процесс вам знаком, то это потому, что Эйлер по сути создал решето, очень похожее на решето Эратосфена. Он отфильтровывает из дзета-функции числа, не являющиеся простыми.

Затем разделим выражение на все его члены, являющимися обратными простым числам величинами, и получим:

Функциональная связь дзета-функции с простыми числами для первых простых чисел 2,3,5,7 и 11

Упростив выражение, мы показали следующее:

Формула произведения Эйлера — равенство, показывающее связь между простыми числами и дзета-функцией

Разве это было не красиво? Подставим s = 1, и найдём бесконечный гармонический ряд, повторно доказав бесконечность простых чисел.

Функция Мёбиуса

Август Фердинанд Мёбиус переписал произведение Эйлера, создав новую сумму. Кроме величин, обратных простым числам, функция Мёбиуса также содержит каждое натуральное число, являющееся произведением чётного и нечётного количества простых множителей. Числа, исключённые из его ряда — это такие числа, которые делятся на какое-то простое число в квадрате. Его сумма, обозначаемая как μ(n), имеет следующий вид:

Функция Мёбиуса — изменённая версия произведения Эйлера, заданная для всех натуральных чисел

Сумма содержит величины, обратные:

  1. Каждому простому числу;
  2. Каждому натуральному числу, являющемуся произведением нечётного количества разных простых чисел, взятому со знаком «минус»; и
  3. Каждому натуральному числу, являющемуся произведением чётного количества различных простых чисел, взятому со знаком «плюс»;

Ниже показаны первые члены:

Ряд/сумма единиц, разделённых на дзета-функцию ζ(s)

Сумма не содержит те обратные величины, которые делятся на квадрат одного из простых чисел, например, 4,8,9, и так далее.

Функция Мёбиуса μ(n) может принимать только три возможных значения: префикс (1 или -1) или удаление (0) членов из суммы:

Три возможных значения функции Мёбиуса μ(n)

Хотя впервые эта хитрая сумма была формально определена Мёбиусом, примечательно, что за 30 лет до него об этой сумме писал в заметках на полях Гаусс:

«Сумма всех первообразных корней (простого числа p) или 0 (когда p-1 делится на квадрат), или ±1 (mod p) (когда p-1 является произведением неравных простых чисел); если их количество чётно, то знак положителен, но если количество нечётно, то знак отрицателен».

Функция распределения простых чисел

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

Именно эту задачу выполняет предложенная Гауссом функция распределения простых чисел π(x): она даёт нам количество простых чисел, меньших или равных заданному вещественному числу. Поскольку мы не знаем формул для нахождения простых чисел, формула распределения простых чисел известна нам только как график, или ступенчатая функция, увеличивающаяся на 1, когда x является простым числом. На графике ниже показана функция до x = 200.

Функция распределения простых чисел π(x) до значения x = 200.

Теорема о распределении простых чисел

Теорема о распределении простых чисел, сформулированная Гауссом (и независимо от него Лежандром), гласит:

Теорема о распределении простых чисел

Обычным языком это можно изложить так: «При движении x к бесконечности функция распределения простых чисел π(x) будет приближаться к функции x/ln(x)». Другими словами, если забраться достаточно далеко, и график распределения простых чисел поднимется до очень высокого числа x, то при делении x на натуральный логарифм x соотношение этих двух функций будет стремиться к 1. Ниже на графике показаны две функции для x = 1000:

Функция распределения простых чисел π(x) и приблизительная оценка по теореме распределения простых чисел до x = 1000

С точки зрения вероятностей, теорема о распределении простых чисел гласит, что если случайным образом выбрать натуральное число x, то вероятность P(x) того, что это число будет простым, примерно равно 1 / ln(x). Это означает, что средний разрыв между последовательными простыми числами среди первых x целочисленных значений приблизительно равен ln(x).

Интегральный логарифм

Функция Li(x) определена для всех положительных вещественных чисел, за исключением x = 1. Она задаётся интегралом от 2 до x:

Интегральное представление функции интегрального логарифма

Построив график этой функции рядом с функцией распределения простых чисел и формулой из теоремы о распределении простых чисел, мы видим, что Li(x) на самом деле является лучшим приближением, чем x/ln(x):

Интегральный логарифм Li(x), функция рапределения простых чисел π(x) и x/ln(x) на одном графике

Чтобы узнать, насколько лучше это приближение, мы можем построить таблицу с большими значениями x, количеством простых чисел до x и величиной погрешности между старой (теорема о распределении простых чисел) и новой (интегральный логарифм) функциями:

Количество простых чисел до заданной степени десятки и соответствующие погрешности для двух приближений

Как легко можно заметить, интегральный логарифм намного лучше в приближении, чем функция из теоремы о распределении простых чисел, он «ошибся» в большую сторону всего на 314 890 простых чисел для x = 10 в степени 14. Тем не менее, обе функции сходятся к функции распределения простых чисел π(x). Li(x) сходится гораздо быстрее, но при стремлении x к бесконечности соотношение между функцией распределения простых чисел и функциями Li(x) и x/ln(x) приближается к 1. Покажем это наглядно:

Схождение соотношений двух приближенных значений и функции распределения простых чисел к 1 при x = 10 000

Гамма-функция

Гамма-функция Γ(z) стала важным объектом для изучения с тех пор, когда в 1720-х годах Даниил Бернулли и Христиан Гольдбах исследовали задачу обобщения функции факториала на нецелые аргументы. Это обобщение функции факториала n! (1 x 2 x 3 x 4 x 5 x …. n), сдвинутое вниз на 1:

Гамма-функция, определённая для z

Её график очень любопытен:

График гамма-функции Γ(z) в интервале -6 ≤ z ≤ 6

Гамма-функция Γ(z) определена для всех комплексных значений z больше нуля. Как вы наверно знаете, комплексные числа — это класс чисел с мнимой частью, записываемых как Re(z) + Im(z), где Re(z) — это вещественная часть (обычное вещественное число), а Im(z) — мнимая часть, обозначаемая буквой i. Комплексное число обычно записывается в виде z = σ + it, где сигма σ — вещественная часть, а it — мнимая. Комплексные числа полезны тем, что они позволяют математикам и инженерам работать с задачами, недоступными обычным вещественным числам. В графическом виде комплексные числа расширяют традиционную одномерную числовую прямую в двухмерную числовую плоскость, называемую комплексной плоскостью, в которой вещественная часть комплексного числа откладывается по оси x, а мнимая — по оси y.

Чтобы гамма-функцию Γ(z) можно было использовать, её обычно переписывают в виде

Функциональная связь гамма-функции Γ(z)

С помощью этого равенства мы можем получить значения для z ниже нуля. Однако оно не даёт значений для отрицательных целых чисел, потому что они не определены (формально они являются вырожденностями или простыми полюсами).

Дзета и гамма

Связь между дзета-функцией и гамма-функцией задаётся следующим интегралом:


Дзета-функция Римана

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

Немецкий математик Бернхард Риман родился в 1826 году в Брезеленце. Будучи студентом Гаусса, Риман опубликовал работу в области математического анализа и геометрии. Считается, что наибольший вклад он внёс в области дифференциальной геометрии, где заложил фундамент языка геометрии, позже использованного Эйнштейном в общей теории относительности.

Его единственный труд в теории чисел, статья 1859 года Ueber die Anzahl der Primzahlen unter einer gegebenen Grösse («О простых числах меньше заданной величины») считается самой важной статьёй в этой области математики. Всего на четырёх страницах он изложил:

  • Определение дзета-функции Римана ζ(s) — дзета-функции с комплексными значениями;
  • Аналитическое продолжение дзета-функции на все комплексные числа s≠1;
  • Определение кси-функции Римана ξ(s) — целой функции, связанной с дзета-функцией Римана через гамма-функцию;
  • Два доказательства функционального уравнения дзета-функции Римана;
  • Определение функции распределения простых чисел Римана J(x) с помощью функции распределения простых чисел и функции Мёбиуса;
  • Явную формулу количества простых чисел меньше заданного числа с использованием функции распределения простых чисел Римана, определённой с помощью нетривиальных нулей дзета-функции Римана.

Это невероятный пример изобретательности и творческого мышления, подобных которому, вероятно, с тех пор не встречалось. Совершенно потрясающий труд.

Дзета-функция Римана

Мы видели тесную связь между простыми числами и дзета-функцией, показанную Эйлером в его произведении. Однако за исключением этой связи об их взаимоотношениях было мало что известно, и чтобы показать их, потребовалось изобретение комплексных чисел.

Риман первым рассмотрел дзета-функцию ζ(s) для комплексной переменной s, где s = σ + it.

Дзета-функция Римана для n, где s = σ + it — это комплексное число, в котором σ и t являются вещественными числами.

Этот бесконечный ряд, названный дзетой-функцией Римана ζ(s), является аналитическим (то есть имеет определяемые значения) для всех комплексных чисел с вещественной частью больше 1 (Re(s) > 1). В этой области определения он сходится абсолютно.

Чтобы проанализировать функцию в областях за пределами обычной области сходимости (когда вещественная часть комплексной переменной s больше 1), функцию нужно переопределить. Риман успешно с этим справился, выполнив аналитическое продолжение до абсолютно сходящейся функции на полуплоскости Re(s) > 0.

Переписанный вид дзета-функции Римана, где {x} = x — |x|

Это новое определение дзета-функции аналитично в любой части полуплоскости Re(s) > 0, за исключением s = 1, где она является вырожденностью/простым полюсом. В этой области определения она называется мероморфной функцией, потому что она голоморфна (комплексно дифференцируема в окрестности каждой точки в области её определения), за исключением простого полюса s = 1. Кроме того, она является превосходным примером L-функции Дирихле.

В своей статье Риман на этом не остановился. Он перешёл к аналитическому продолжению своей дзета-функции ζ(s) на всю комплексную плоскость, воспользовавшись гамма-функцией Γ(z). Чтобы не усложнять пост, я не буду приводить эти вычисления, но крайне рекомендую вам посмотреть их самостоятельно, чтобы убедиться в удивительной интуиции и мастерстве Римана.

В его методе используется интегральное представление гаммы Γ(z) для комплексных переменных и тета-функции Якоби ϑ(x), которые можно переписать таким образом, чтобы появилась дзета-функция. Решая относительно дзета, получаем:

Функциональное уравнение дзеты для всей комплексной плоскости за исключением двух вырожденностей при s = 0 и s = 1

В таком виде мы замечаем, что член ψ(s) уменьшается быстрее чем любая степень x, а значит, интеграл сходится ко всем значениям s.

Зайдя ещё дальше, Риман заметил, что первый член в скобках (-1 / s(1 — s) ) является инвариантом (не меняется), если заменить s на 1 — s. Благодаря этому Риман ещё больше расширил полезность уравнения, устранив два полюса в s=0 и s=1, и задав кси-функцию Римана ξ(s) без вырожденностей:

Кси-функция Римана ξ(s)

Нули дзета-функции Римана

Корни/нули дзета-функции, когда ζ(s)=0, можно разделить на два вида, которые называются «тривиальными» и «нетривиальными» нулями дзета-функции Римана.

Существование нулей с вещественной частью Re(s) < 0

Тривиальные нули — это нули, которые легко найти и объяснить. Наиболее заметны они в следующем функциональном виде дзета-функции:

Разновидность функционального дзета-уравнения Римана

Это произведение становится равным нулю, когда нулём становится синус. Это происходит при значениях kπ. То есть при отрицательном чётном целом числе s = -2n дзета-функция становится нулём. Однако для положительных чётных целых чисел s = 2n нули сокращаются полюсами гамма-функции Γ(z). Это легче увидеть в исходном функциональном виде; если подставить s = 2n, то первая часть члена становится неопределённой.

Итак, дзета-функция Римана имеет нули в каждом отрицательном чётном целом s = -2n. Это тривиальные нули, и их можно увидеть на графике функции:

График дзета-функции Римана ζ(s) с нулями в s= -2, -4, -6 и так далее

Существование нулей с вещественной частью Re(s) > 1

Из формулировки дзеты Эйлера мы можем мгновенно увидеть что дзета ζ(s) не может быть нулём в области с вещественной частью s больше 1, потому что сходящееся бесконечное произведение может быть нулём только если равен нулю один из его множителей. Доказательство бесконечности простых чисел отрицает это.

Формула произведения Эйлера

Существование нулей с вещественной частью 0 ≤ Re(s) ≤ 1

Мы нашли тривиальные нули дзеты в отрицательной полуплоскости, когда Re(s) < 0, и показали, что в области Re(s) > 1 не может быть нулей.

Однако область между этими двумя областями, называемая критической полосой, была основным центром внимания аналитической теории чисел в течение последних сотен лет.

График вещественной и мнимой частей дзета-функции Римана ζ(s) в интервале -5 < Re < 2, 0 < Im < 60

На показанном выше графике я отобразил вещественные части дзеты ζ(s) красным, а мнимые — синим. Мы видим первые два тривиальных нуля в левом нижнем углу, где вещественная часть s равна -2 и -4. Между 0 и 1 я выделил критическую полосу и отметил пересечения вещественных и мнимых частей дзеты ζ(s). Это нетривиальные нули дзета-функции Римана. Поднимаясь к более высоким значениям, мы увидим больше нулей и две кажущиеся случайными функции, которые становятся плотнее при увеличении значений мнимой части s.

График вещественной и мнимой частей дзета-функции Римана ζ(s) в интервале -5 < Re < 2, 0 < Im < 120

Кси-функция Римана

Мы определили кси-функцию Римана ξ(s) (вид функционального уравнения, в котором устранены все вырожденности, то есть оно определено для всех значений s) так:

Кси-функция Римана без вырожденностей

Эта функция удовлетворяет соотношению

Симметричная взаимосвязь между положительными и отрицательными значениями кси-функции Римана

Это означает, что функция симметрична относительно вертикальной линии Re(s) = 1/2, то есть ξ(1) = ξ(0), ξ(2) = ξ(-1), и так далее. Эта функциональная связь (симметрия s и 1-s) в сочетании с произведением Эйлера показывают, что кси-функция Римана может иметь нули только в интервале 0 ≤ Re(s) ≤ 1. Другими словами, нули кси-функции Римана соответствуют нетривиальным нулям дзета-функции Римана. В известном отношении, критическая линия R(s) = 1/2 для дзета-функции Римана ζ(s) соответствует вещественной линии (Im(s) = 0) для кси-функции Римана ξ(s).

Посмотрев на два показанных выше графика, можно сразу заметить, что у всех нетривиальных нулей дзета-функции Римана ζ(s) (нулей кси-функции Римана) вещественная часть Re(s) равна 1/2. В своей статье Риман вкратце упомянул это свойство, и его поверхностное примечание в результате оказалось одним из величайших его наследий.

Гипотеза Римана

У нетривиальных нулей дзета-функции Римана ζ(s) вещественная часть имеет вид Re(s) = 1/2.

Это современная формулировка недоказанного предположения, сделанного Риманом в его знаменитой статье. Она гласит, что все точки, в которых дзета равна нулю (ζ(s) = 0) на критической полосе 0 ≤ Re(s) ≤ 1, имеют вещественную часть Re(s) = 1/2. Если это верно, то все нетривиальные нули дзеты будут иметь вид ζ(1/2 + it).

Эквивалентная формулировка (изложенная самим Риманом) заключается в том, что все корни кси-функции Римана ξ(s) вещественны.

На графике ниже линия Re(s) = 1/2 является горизонтальной осью. Вещественная часть Re(s) дзеты ζ(s) показана красной линией, а мнимая часть Im(s) — синей. Нетривиальные нули — это пересечения между красным и синим графиками на горизонтальной прямой.

Первые нетривиальные нули дзета-функции Римана на прямой Re(s) = 1/2.

Если гипотеза Римана окажется истинной, то все нетривиальные нули функции будут встречаться на этой прямой как пересечения двух графиков.

Причины верить в гипотезу

Существует множество причин верить истинности гипотезы Римана относительно нулей дзета-функции. Наверно, самым убедительной для математиков причиной являются последствия, которые она будет иметь для распределения простых чисел. Численная проверка гипотезы при очень высоких значениях предполагает, что она истинна. На самом деле, численное подтверждение гипотезы настолько сильно, что в других областях, например, в физике или химии, его можно было бы считать экспериментально доказанным. Однако в истории математики было несколько гипотез, проверенных до очень высоких значений, и тем не менее оказавшихся неверными. Дербишир (2004) рассказывает историю числа Скьюза — чрезвычайно большого числа, указавшего верхний предел и доказавшего таким образом ложность одной из гипотез Гаусса о том, что интегральный логарифм Li(x) всегда больше, чем функция распределения простых чисел. Она была опровергнута Литлвудом без примера, а затем было показано, что она неверна выше очень огромного числа Скьюза — десять в степени десять, в степени десять, в степени 34. Это доказало, что несмотря на доказанность ошибочности идеи Гаусса, пример точного местонахождения такого отклонения от гипотезы находится далеко за пределами даже современных вычислительных мощностей. Такое может произойти и в случае с гипотезой Римана, которая была проверена «всего лишь» до десятки в степени двенадцати нетривиальных нулей.

Дзета-функция Римана и простые числа

Взяв за основу истинность гипотезы Римана, сам Риман начал исследовать её последствия. В своей статье он писал: «…есть большая вероятность того, что все корни являются вещественными. Разумеется, здесь нужно строгое доказательство; сделав несколько безуспешных попыток, я отложу его поиск, потому что оно кажется необязательным для следующей цели моих исследований». Его следующей целью была связь нулей дзета-функции с простыми числами.

Вспомним функцию распределения простых чисел π(x), подсчитывающую количество простых чисел вплоть до вещественного числа x. Риман использовал π(x) для определения собственной функции распределения простых чисел, а именно функции распределения простых чисел Римана J(x). Она задаётся следующим образом:

Функция распределения простых чисел Римана

Первое, что можно заметить в этой функции — она не бесконечна. При каком-то члене функция распределения будет равна нулю, потому что не существует простых чисел для x < 2. То есть взяв для примера J(100), мы получим, что функция состоит из семи членов, потому что восьмой член будет содержать восьмой корень 100, который приблизительно равен 1.778279.., то есть этот член распределения простых чисел становится равным нулю, а сумма становится равной J(100) = 28.5333…

Как и функция распределения простых чисел, функция Римана J(x) — это ступенчатая функция, значение которой увеличивается так:

Возможные значения функции распределения простых чисел Римана

Чтобы связать значение J(x) с количеством простых чисел до x, включая его, мы вернёмся к функции распределения простых чисел π(x) при помощи процесса, называемого обращением Мёбиуса (здесь я его показывать не буду). Полученное выражение будет иметь вид

Функция распределения простых чисел π(x) и её связь с функцией распределения простых чисел Римана и с функцией Мёбиуса μ(n)

Вспомним, что возможные значения функции Мёбиуса имеют вид

Три возможных значения функции Мёбиуса μ(n)

Это значит, что теперь мы можем записать любую функцию распределения простых чисел как функцию распределения простых чисел Римана, что даст нам

Функция распределения простых чисел, записанная как функция распределения простых чисел Римана для первых семи значений n

Это новое выражение по-прежнему является конечной суммой, потому что J(x) равна нулю при x < 2, так как не существует простых чисел меньше 2.

Если теперь мы ещё раз рассмотрим пример с J(100), то получим сумму

Функция распределения простых чисел для x = 100

Что, как мы знаем, является количеством простых чисел ниже 100.

Преобразование формулы произведения Эйлера

Затем Риман использовал в качестве начальной точки произведение Эйлера и получил метод для аналитической оценки простых чисел на неподдающемся исчислению языке матанализа. Начав с Эйлера:

Произведение Эйлера для первых пяти простых чисел

Сначала взяв с обеих сторон логарифм а затем переписав знаменатели в скобках, он вывел взаимоотношение

Логарифм переписанной формулы произведения Эйлера

Затем, воспользовавшись хорошо известным рядом Тейлора-Маклорена, он разложил каждый логарифмический член в правой части, создав бесконечную сумму бесконечных сумм, по одной для каждого члена в ряду простых чисел.

Разложение Тейлора для первых четырёх членов логарифма произведения Эйлера

Рассмотрим один из таких членов, например:

Второй член — это разложение Маклорена для 1/3^s

Этот член, как и каждый другой член вычисления, представляет часть площади под функцией J(x). В виде интеграла:

Интегральный вид второго члена разложения Маклорена для 1/3^s

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

Функция распределения простых чисел Римана J(x) до x = 50, в котором выделены два интеграла

Итак, каждое выражение в конечной сумме, составляющей ряд величин, обратных простым числам из произведения Эйлера, может быть выражена в виде интегралов, составляющих бесконечную сумму интегралов, соответствующих площади под функцией распределения простых чисел Римана. Для простого числа 3 это бесконечное произведение интегралов имеет вид:

Бесконечное произведение интегралов, составляющих площадь под функцией распределения простых чисел, представленной целочисленной 3

Если собрать все эти бесконечные суммы вместе в один интеграл, то интеграл под функцией распределения простых чисел Римана J(x) может быть записан в простом виде:

Логарифм дзеты, выраженный в виде бесконечного ряда интегралов

Или в более известном виде

Современный эквивалент произведения Эйлера, связывающий дзета-функцию с функцией распределения простых числе Римана

Благодаря этому Риману удалось связать на языке матанализа свою дзета-функцию ζ(s) с функцией распределения простых чисел Римана J(x) в равенстве, эквивалентном формуле произведения Эйлера.

Величина погрешности

Получив этот аналитический вид произведения Эйлера, Риман приступил к формулированию собственной теоремы о распределении простых чисел. Он представил её в следующем явном виде:

«Теорема о распределении простых чисел Римана», предугадывающая количество простых чисел меньше заданной величины x

Это явная формула Римана. Она стала усовершенствованием теоремы о распределении простых чисел, более точной оценкой количества простых чисел вплоть до числа x. Формула состоит из четырёх членов:

  1. Первый, или «основной» член — это интегральный логарифм Li(x), который является улучшенным приближением функции распределения простых чисел π(x) из теоремы о распределении простых чисел. Это самый большой член, и как мы видели, он завышает количество простых чисел до заданного значения x.
  2. Второй, или «периодический» член — это сумма интегрального логарифма x в степени ρ, суммированная по ρ, что является нетривиальными нулями дзета-функции Римана. Этот член регулирует завышение значений основного члена.
  3. Третий член — это константа -log(2) = -0.6993147…
  4. Четвёртый и последний член — это интеграл, равный нулю при x < 2, потому что не существует простых чисел меньше 2. Его максимальное значение равно 2, когда его интеграл примерно равен 0.1400101….

Влияние двух последних членов на значение функции с ростом x становится чрезвычайно малым. Основной «вклад» для больших чисел делают функция интегрального логарифма и периодическая сумма. См. их влияние на графике:

Ступенчатая функция распределения простых чисел π(x), аппроксимируемая явной формулой функции распределения простых чисел Римана J(x) с помощью первых 35 нетривиальных нулей ρ дзета-функции Римана.

В показанном выше графике я аппроксимировал функцию распределения простых чисел π(x) с помощью явной формулы функции распределения простых чисел Римана J(x) и суммировал первые 35 нетривиальных нуля дзета-функции Римана ζ(s). Мы видим, что периодический член заставляет функцию «резонировать» и начать приближаться к форме функции распределения простых чисел π(x).

Ниже показан тот же график с использованием большего количества нетривиальных нулей.

Ступенчатая функция распределения простых чисел π(x), аппроксимируемая явной формулой распределения простых чисел Римана J(x) с помощью первых 100 нетривиальных нулей ρ дзета-функции Римана.

С помощью явной функции Римана можно с очень большой точностью аппроксимировать количество простых чисел вплоть до заданного числа x. На самом деле, в 1901 году Нильс Кох доказал, что использование нетривиальных нулей дзета-функции Римана для коррекции погрешности функции интегрального логарифма эквивалентно «наилучшей» границе для величины погрешности в теореме о распределении простых чисел.

«… Эти нули действуют подобно телеграфным столбам, и особая природа дзета-функции Римана точно приказывает, как между ними должен висеть провод (её график)…», — Дэн Рокмор

Эпилог

После смерти Римана в 1866 году всего лишь в возрасте 39 лет его новаторская статья продолжает оставаться ориентиром в области аналитической теории чисел и теории простых чисел. И по сей день гипотеза Римана о нетривиальных нулях дзета-функции Римана остаётся нерешённой, несмотря на активные исследования множества великих математиков. Каждый год публикуются связанные с этой гипотезой различные новые результаты и догадки в надежде, что когда-нибудь доказательство станет реальным.

Общий член ряда представляе собой рациональную дробь. Выполним разложение дроби на простейшие с помощью метода неопределенных коэффициентов:

$$ frac{1}{(2n+1)(2n+3)} = frac{A}{2n+1} + frac{B}{2n+3} = frac{A(2n+3)+B(2n+1)}{(2n+1)(2n+3)} $$

Приравниваем числитель последней дроби к числителю первой дроби:

$$ A(2n+3)+B(2n+1) = 1 $$

Раскрываем скобки:

$$ 2An + 3A + 2Bn + B = 1 $$

Теперь определяем находим неизвестные коэффициенты:

$$ begin{cases} n^0: &2A+2B=0 \ n^1: &3A+B=1 end{cases}Rightarrow begin{cases} A=frac{1}{2} \ B=-frac{1}{2} end{cases} $$

После разложения общий член ряда записывается следующим образом:

$$ a_n =frac{1}{(2n+1)(2n+3)}=frac{1}{2} frac{1}{2n+1} — frac{1}{2} frac{1}{2n+3} $$

Далее составим частичную сумму ряда: $$ S_n = a_1 + a_2 + a_3 + a_4 + … + a_n $$

$$ a_1 = frac{1}{2} bigg (frac{1}{3}-frac{1}{5}bigg ) $$

$$ a_2 = frac{1}{2} bigg (frac{1}{5}-frac{1}{7}bigg ) $$

$$ a_3 = frac{1}{2} bigg (frac{1}{7}-frac{1}{9}bigg ) $$

$$ …………………………………. $$

$$ a_{n-1}=frac{1}{2} bigg (frac{1}{2n-1}-frac{1}{2n+1} bigg ) $$

$$ a_n = frac{1}{2} bigg (frac{1}{2n+1}-frac{1}{2n+3} bigg ) $$

Замечание

Достаточно часто читатели нам присылают просьбы найти суммы своих рядов по причине того, что они не понимают, откуда получается $ a_{n-1} $.

Обратите внимание, чтобы составить $ a_{n-1} $ необходимо подставить в $ a_n $ вместо буковки $ n $ выражение $ n-1 $. После выполнить раскрытие скобок.

Итого, получаем:

$$ S_n = frac{1}{2} bigg (frac{1}{3}-frac{1}{5}bigg ) + frac{1}{2} bigg (frac{1}{5}-frac{1}{7}bigg ) + frac{1}{2} bigg (frac{1}{7}-frac{1}{9}bigg ) + … $$

$$ … + frac{1}{2} bigg (frac{1}{2n-1}-frac{1}{2n+1} bigg ) + frac{1}{2} bigg (frac{1}{2n+1}-frac{1}{2n+3} bigg ) = $$

Выносим дробь одну вторую $ frac{1}{2} $ за скобки:

$$ = frac{1}{2} bigg (frac{1}{3}-frac{1}{5}+frac{1}{5}-frac{1}{7}+frac{1}{7}-frac{1}{9} … + $$

$$ + … frac{1}{2n-1} — frac{1}{2n+1} + frac{1}{2n+1} — frac{1}{2n+3} bigg) = $$

Замечаем, что в скобках есть подобные слагаемые, которые взаимно уничтожаются. Остаются только лишь два из них:

$$ S_n = frac{1}{2}bigg (frac{1}{3}-frac{1}{2n+3} bigg ) $$

Теперь осталось вычислить предел частичной суммы $ S_n $. Если он существует и конечен, то он является суммой ряда, а сам ряд сходится:

$$ S=lim_{ntoinfty} S_n = lim_{ntoinfty} frac{1}{2}bigg (frac{1}{3}-frac{1}{2n+3} bigg ) = $$

$$ = frac{1}{2} lim_{ntoinfty} bigg (frac{1}{3}-frac{1}{2n+3} bigg ) = frac{1}{2} cdot frac{1}{3} = frac{1}{6} $$

Keshandr88854

0 / 0 / 0

Регистрация: 06.10.2018

Сообщений: 41

1

Найти сумму простых чисел

03.06.2019, 19:51. Показов 5535. Ответов 7

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Здравствуйте. Нашел код по вычислению простых чисел, помогите найти их сумму.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
int p, l;
         Console.WriteLine("Введите 1 число");
        p = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Введите 2 число");
        l =Convert.ToInt32(Console.ReadLine());
        
for (int i=p; i<l; i++) 
        for ( int j=2; j<i; j++)
        {
            if (i % j == 0) 
                break;
            else if (i == j+1)
                Console.WriteLine(i);



0



490 / 286 / 129

Регистрация: 30.10.2018

Сообщений: 1,309

03.06.2019, 19:53

2

Цитата
Сообщение от Keshandr88854
Посмотреть сообщение

Написал код по вычислению простых чисел

написал или скопировал? Ты говори как есть.

Только я не понял, каких именно чисел найти суму, на конкретном отрезке, или до конткретного числа? Дай задания полностью.



0



0 / 0 / 0

Регистрация: 06.10.2018

Сообщений: 41

03.06.2019, 19:56

 [ТС]

3

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

Даны числа n и m. В натуральном ряду, начиная с числа n, найти m ближайших простых чисел и получить их сумму.



0



kitsoRik

490 / 286 / 129

Регистрация: 30.10.2018

Сообщений: 1,309

03.06.2019, 20:05

4

Цитата
Сообщение от Keshandr88854
Посмотреть сообщение

C#
1
2
if (i % j == 0) 
 break;

замени это на это

C#
1
2
if(i % j == 0)
sum += i;

и это

Цитата
Сообщение от Keshandr88854
Посмотреть сообщение

C#
1
int p, l;

на это

C#
1
int p, l, sum = 0;



0



0 / 0 / 0

Регистрация: 06.10.2018

Сообщений: 41

03.06.2019, 20:12

 [ТС]

5

Мне надо простые числа 3, 5, 7, 11, 13



0



490 / 286 / 129

Регистрация: 30.10.2018

Сообщений: 1,309

03.06.2019, 20:36

6

Цитата
Сообщение от Keshandr88854
Посмотреть сообщение

Мне надо простые числа 3, 5, 7, 11, 13

я же так и сделал



0



0 / 0 / 0

Регистрация: 06.10.2018

Сообщений: 41

03.06.2019, 20:40

 [ТС]

7

Мне выводит все чисел в диапазоне.



0



kitsoRik

490 / 286 / 129

Регистрация: 30.10.2018

Сообщений: 1,309

03.06.2019, 20:50

8

Цитата
Сообщение от Keshandr88854
Посмотреть сообщение

Мне выводит все чисел в диапазоне.

ну так удали

Цитата
Сообщение от Keshandr88854
Посмотреть сообщение

C#
1
2
else if (i == j+1)
Console.WriteLine(i);

ты же суму считаешь, в конце программы добавь еще

C#
1
2
Console.WriteLine(sum);
Console.ReadKey();



0



Понравилась статья? Поделить с друзьями:
  • Как найти всех персонажей в fnaf world
  • Как составить проект мирового соглашения
  • Connected time out no further information как исправить
  • Как найти стих на французском
  • Как исправить двоечника на отличника