Почему list_1 добавляет 4,2 два раза? - PullRequest
0 голосов
/ 06 апреля 2020
def is_prime(j):
    if j%2!=0:
        for m in range(3,int(j**0.5)+1,2):
            if j%m==0:
                return False
        return True
    elif j==2:
        return True         
    elif j!=2 and j%2==0:
        return False  
list_1=[]
N=int(input("Enter maximum value of number, n upto which you want to check for prime exponents of n"))

for i in range(N,1,-1):
    r=1;v=0;prime_expo_ind=1
    while int(i/(2**r))!=0:
        v=v+int(i/(2**r))
        r=r+1
    if is_prime(v)==True:
        for k in range(3,int(i/2)+1,2):
            if is_prime(k)==True:
               r=1;v=0
               while int(i/(k**r))!=0:
                   v=v+int(i/(k**r))
                   r=r+1
               if is_prime(v)==False:
                   prime_expo_ind=0
                   break
    else:
        prime_expo_ind=0
    if is_prime(i)==True:
        if prime_expo_ind==1:
           list_1.append(i)
           list_1.append(i-1)
        i=i-2   
    else:
        if prime_expo_ind==1:
           list_1.append(i)
print(list_1)

Это программа, написанная на python для поиска чисел, n имеет простые показатели для простого числа, p меньше, чем 0,5n при простом разложении n!

Программа, написанная на python для поиска чисел, n имеет простые показатели для простого числа, p меньше, чем 0,5n при простом разложении n!

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