как построить простое число в блокноте Jupyter - PullRequest
0 голосов
/ 30 апреля 2020

Так что извините за напоминание вам еще раз об этой проблеме, я хочу написать программу на Jupyter, чтобы показать скриншот ниже на графике сюжета, как написать сюжет на скриншоте ниже в блокноте jupyter, ваш добрый ответ будет благодарен
изображение будет описывать график простого числа

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

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

import random
import time
# Utility function to do
# modular exponentiation.
# It returns (x^y) % p
def power(x, y, p):
    # Initialize result
    res = 1;

    # Update x if it is more than or
    # equal to p
    x = x % p;
    while (y > 0):

        # If y is odd, multiply
        # x with result
        if (y & 1):
            res = (res * x) % p;

        # y must be even now
        y = y >> 1;  # y = y/2
        x = (x * x) % p;

    return res;

# This function is called
# for all k trials. It returns
# false if n is composite and
# returns false if n is
# probably prime. d is an odd
# number such that d*2<sup>r</sup> = n-1
# for some r >= 1
def miillerTest(d, n):

    # Pick a random number in [2..n-2]
    # Corner cases make sure that n > 4
    a = 2 + random.randint(1, n - 4);

    # Compute a^d % n
    x = power(a, d, n);

    if (x == 1 or x == n - 1):
        return True;
    # Keep squaring x while one
    # of the following doesn't
    # happen
    # (i) d does not reach n-1
    # (ii) (x^2) % n is not 1
    # (iii) (x^2) % n is not n-1
    while (d != n - 1):
        x = (x * x) % n;
        d *= 2;

        if (x == 1):
            return False;
        if (x == n - 1):
            return True;

        # Return composite
    return False;

# It returns false if n is
# composite and returns true if n
# is probably prime. k is an
# input parameter that determines
# accuracy level. Higher value of
# k indicates more accuracy.
def isPrime(n, k):
    p = 2
    # Corner cases
    if (n <= 1 or n == 4):
        return False;
    if (n <= 3):
        return True;

    # Find r such that n =
    # 2^d * r + 1 for some r >= 1
    d = n - 1;
    while (d % 2 == 0):
        d //= 2;

    # Iterate given nber of 'k' times

    for i in range(k):
        if (miillerTest(d, n) == False):
            return False;
    return True;
# Driver Code
# Number of iterations
k = 7;
start_time=time.time()

print("All primes between 10^6and 10^111: ");

for n in range(10, 1000):
    if (isPrime(n, k)):
        print(n, end=" ");
    end_time = time.time()

print("Total time:%0.5f" % (end_time - start_time))
0 голосов
/ 01 мая 2020

сначала установите matplotlib в свой блокнот jupyter, используя приглашение anaconda, набрав эту команду,

pip install matplotlib

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

# importing the required module 
import matplotlib.pyplot as plt 

# x axis values of prime numbers 
x = [1,2,3] 
# corresponding y axis values of prime numbers 
y = [5,7,11] 

# plotting the points  
plt.plot(x, y) 

# naming the x axis 
plt.xlabel('x - axis') 
# naming the y axis 
plt.ylabel('y - axis') 

# giving a title to my graph 
plt.title('My first graph!') 

# function to show the plot 
plt.show()

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...